Ho un problema divertente con questa funzione. Io lo uso come segue:sprintf_s problem
int nSeq = 1;
char cBuf[8];
int j = sprintf_s(cBuf, sizeof(cBuf), "%08d", nSeq);
E ogni volta che ottengo un'eccezione. L'eccezione è da buffer a small. Quando ho cambiato il secondo campo nella funzione a sizeof (cBuf) + 1.
perché ho bisogno di aggiungere uno se solo voglio copiare 8 byte e ho un array che contiene 8 byte?
Quindi ho bisogno di aumentare la dimensione del buffer di 1? –
Sì. 1 è esattamente la dimensione del terminatore null. Nel mio codice scrivo anche letteralmente "char cBuf [8 + 1]" per sottolineare il fatto che ho bisogno di posto per questo personaggio extra. – xtofl
Ho usato 'char [sizeof (" 00000000 ")]'. – MSalters