gest e fgets
Pubblicato il 28/10/2008
Ecco qualcosa che potrebbe maggiormente interessare ai neoprogrammatori C: GETS() e FGETS() GET STRING: acquisisce il valore di una stinga di caratteri in ingresso SCHEMA RIASSUNTIVO punt = gets(stringa); punt = fgets(stringa,lunghezza,filepunt); char*punt; puntatore alla stringa memorizzata char*stringa; puntatore alla zona di memoria destinata a contenere la stringa acquisita nt lunghezza; numero di byte che compongono la zona di memoria destinata a a contenere la stringa acquisitad FILE*filepunt; puntatore al file CARATTERISTICHE Acquisisce una stringa di caratteri dal file: * Standard Input: gets() * Specificato da filepunt: fgets() La stringa da acquisire è definita come l'insieme di caratteri che precedono un carattere di ritorno a capo (oppure lunghezza -1 nel caso di fgets() ) La funzione gets() sostituisce il ritorno a capo con il carattere terminatore “\0” e quindi il carattere terminatore non può far parte di una stringa. La funzione fgets() inserisce invece il terminatore dopo l'eventuale carattere di ritorno a capo. Cosa restituisce?? punt = NULL in caso di errore o fine file = stringa se l'operazione ha avuto esito positivo NB La funzione gets() ricordo che non prevede il parametro di ingresso”lunghezza” per definire le dimensioni della zona di memoria destinata a contenere la stringa. Quindi, in poche parole, se usiamo male questa funzione rischiamo dei bei buffer overflow gaglio,
Descrizione non disponibile. Questo membro non è più parte della Community.
|
Aggiungi un commento