Il gets ha il problema che non effettua alcun controllo sulla lunghezza dell' array.Originariamente inviato da Puffolott0
Ho letto tempo fa che è perchè il gets può essere nocivo... Non so bene cosa faccia di male, ma ho letto che è possibile sfruttare una sua debolezza per fare virus..![]()
Per esempio in questo codice
Se scrivo sulla console "Ciao mi chiamo Gino Pino", le dimensioni della stringa superano quelle dell'array e la stringa verrà comunque memorizzata nella memoria successiva all'array, anche se non allocata.codice:#include <stdlib.h> #include <stdio.h> void main() { // Solo 10 caratteri (9 effettivi) char stringa[10]; gets(stringa); printf("Hai scritto: %s",stringa); }
Per quanto riguardi i virus, forse in qualche caso, se nn si sta attenti, potrebbe provocare un crash del sistema o cmq qualche falla... boh:master:
Ma dubito che 1 semplice gets in 1 programma mandi il tuo computer in balia dei cracker...![]()
![]()

:master:
Rispondi quotando