Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Utilizza la funzione fgets.
Ecco il suo prototipo:
Codice sorgente - presumibilmente C/C++
char *fgets(char *s, int size, FILE *stream);
Come primo argomento gli passi il vettore che conterrà la stringa, come secondo la grandezza dello stesso, e come ultimo lo stream da cui vuoi leggere dati(in questo caso stdin).
Ultima modifica effettuata da Guglielmo il 26/11/2009 alle 14:46
appunto perché riceve uno stream la fgets viene usata per leggere dai files....devi usare la gets(senza la f davanti) che legge direttamente dalla console
appunto perché riceve uno stream la fgets viene usata per leggere dai files....devi usare la gets(senza la f davanti) che legge direttamente dalla console
Tempo fa, grazie al forum e un utente ho capito che era meglio usare la fgets, e mettere come flusso di stream: stdin così legge da tastiera ed è più sicuro rispetto a gets che è soggetta da buffer overflow
appunto perché riceve uno stream la fgets viene usata per leggere dai files....devi usare la gets(senza la f davanti) che legge direttamente dalla console
Tempo fa, grazie al forum e un utente ho capito che era meglio usare la fgets, e mettere come flusso di stream: stdin così legge da tastiera ed è più sicuro rispetto a gets che è soggetta da buffer overflow
Si teoricamente bisognerebbe usare la gets per l'stdin, però è rischiosa perchè se l'utente inserisce un numero di caratteri superiore alla grandezza del vettore si rischia di avere problemi non tanto carini(vedi buffer overflow).
Ultima modifica effettuata da Guglielmo il 26/11/2009 alle 16:04