esatto.... ho scitto una cavolata..... basta fare sz1[iGrandezzaDisz2] '\0'.....
ma a questo punto mi viene un dubbio..... non bastava fare così:
codice:
TCHAR * sz2=NULL, * sz1=NULL;
try
{
sz2 = new TCHAR [500];
_tcscpy(sz2,"ciao");
sz1 = new TCHAR [500];
_tcsncpy(sz1,sz2,500);
sz1[_tcslen(sz2) - 1] = '\0';
/*lo strlen() per il TCHAR adesso non ricordo.... mi pare _tcslen()*/
MessageBox(NULL,sz1,"In questo caso un LoL ci sta propio a pallino!",0);
}
catch(std::bad_alloc & ex)
{
MessageBox(NULL, "Impossibile allocare la memoria necessaria", "Errore", MB_ICONERROR);
}
delete [] sz2;
delete [] sz1;
E anche l'xD ci sta bene.... bisogna scrivere _tcsncpy(sz1,sz2,500); non _tcsncpy(sz1 - 1,sz2,500);..... xD anche se non ho capito bene cosa fa sz1 - 1

.... comunque grazie di tutto..... ora torno a fare le mie equazioni di 2° grado per domani....