View Single Post
Old 15-05-2008, 10:05   #9
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da dreadknight Guarda i messaggi
quoto. e aggiungo che nel conteggio dei caratteri va anche aggiunto il terminatore di stringa ( '\0' ), che viene inserito automaticamente dal compilatore. Quindi, in quell'esempio, il numero di caratteri disponibili sono 49: se è questo il problema, basta sovradimensionare la stringa oppure usare l'allocazione dinamica, ma quest'ultima è una tecnica un po' più complessa e mi sembra che tu sia alle prime armi, quindi la lascerei perdere.
il compilatore non c'entra nulla, il terminatore finale viene inserito dalla gets stessa.
gets è insicura perché non permette di stabilire una dimensione massima del buffer, e la deprecazione non dipende dalla versione di Visual C++ ma da quella del Windows SDK.

@PaStream: usa scanf che è più sicura; ora do un'occhiata al codice e vedo come mai da' errore.
71104 è offline   Rispondi citando il messaggio o parte di esso