Funzione FEOF in C

Funzione FEOF in C
La lettura e la scrittura di file è senza dubbio uno strumento potente che ci consente di avere o archiviare qualsiasi tipo di informazione e creare i database per l'estrazione e l'elaborazione successive.

Questi dati vengono estratti dai file uno per uno in loop che vengono ripetuti fino a quando tutte le informazioni non vengono estratte e raggiungiamo la fine del file

In questo Suggerimento Linux, Ti mostreremo come usare feof () Per determinare se le funzioni dei dati GET restituiscono EOF. Per aiutarti a utilizzare questa funzione senza intoppi, spieghiamo la sua sintassi, gli argomenti di input e output e il tipo di dati accettati da ciascuno di essi

Quindi, implementiamo questa funzione con esempi pratici usando immagini e frammenti di codice che abbiamo preparato per vari file.

Feof () Sintassi della funzione in lingua C

int feof (file * f_ptr);

Feof () Descrizione della funzione nella lingua C

IL feof () La funzione esamina l'indirizzo che è indicato da f_ptr nel file. Se non ci sono dati lì, determina che si tratta di EOF o di fine file e restituisce "1". Altrimenti, il risultato è "0". EOF non è un carattere di fuga, ma un risultato che viene restituito da alcune funzioni che recuperano i dati come getc ().

IL feof () La funzione è molto utile e il suo risultato viene utilizzato come condizione nei cicli di recupero dei file per determinare la fine del ciclo quando raggiunge la fine e non ci sono più dati da recuperare.

IL feof () è una delle funzioni nella libreria standard C. Prima di poter utilizzare questo e altre funzioni di input e output, è necessario includere "StDIO.”” ”al".C del file:

#includere

Come estrarre i dati da un file e utilizzare la funzione Feof () per determinare l'output del ciclo di estrazione

In questo esempio, spieghiamo il processo passo-passo su come creare un ciclo per estrarre i dati da un file di testo e utilizzare il feof () funzione per determinare l'output quando vengono estratti gli ultimi dati.

Il primo passo è definire il f_ptr puntatore per il file che vogliamo estrarre. Questo puntatore è l'argomento input per feof () e getc (). Definiamo anche i dati C_ di tipo char che è l'output della funzione getc () nel ciclo di estrazione.

#includere
#includere
principale()

File *f_ptr;
char c_;

Il secondo passo è creare o utilizzare un file di testo che apriamo per estrarre i dati da esso.

Per aprire il file, chiamiamo la funzione fopen () e passiamo il nome e il percorso come argomenti di input in cui salviamo il file e leggi l'attributo "r" che è separato da virgole. Qui, usiamo il “Documenti/Linux_hint Esempio .TXT" file.

Come argomento di output a Fopen (), inviamo il f_ptr puntatore che abbiamo definito in precedenza:

f_ptr = fopen ("Documents/Linux_Hint Esempio.txt "," r ");

Una volta aperto il file, f_ptr punta ai tuoi primi dati. Questo puntatore è l'argomento di input per feof () e fGetc () nel passaggio successivo che è il ciclo di recupero.

Se la dimensione del file non è nota, il ciclo di recupero più pratico è un ciclo while in cui la condizione di uscita è la fine del file, il risultato di feof ().

Successivamente, guardiamo il ciclo di estrazione. Feof () viene chiamato in ogni ciclo in cui getc () recupera un carattere dal file e lo stampa alla riga di comando con printf (). Se il risultato che viene annullato con "!"È uguale a" 0 ", il ciclo è uscito.

Mentre ( ! feof (f_ptr)

printf ("%c", c_);
c_ = getc (f_ptr);

Con questo ciclo, ora possiamo estrarre e stampare tutti i dati fino alla fine del file che è indicato da f_ptr.

Nella seguente illustrazione, vediamo il codice completo con la definizione di variabili e puntatori, l'apertura del file, l'estrazione e l'output dei dati e la successiva chiusura del file:

#includere
#includere
principale()

File *f_ptr;
char c_;
f_ptr = fopen ("Documents/Linux_Hint Esempio.txt "," r ");
c_ = getc (f_ptr);
Mentre ( ! feof (f_ptr))

printf ("%c", c_);
c_ = getc (f_ptr);

fclose (f_ptr);

Nella seguente immagine, vediamo il file di testo che utilizziamo per questo esempio e l'estrazione dei suoi dati stampati nella console di comando:

Possiamo anche aggiungere un contatore per ottenere il numero di caratteri estratti. Per fare ciò, dobbiamo definire l'intero intero C_COUNT che viene incrementato ogni volta che il ciclo di estrazione funziona e mostrarlo alla fine.

#includere
#includere
principale()

File *f_ptr;
char c_;
intc_count = 0;
f_ptr = fopen ("Documents/Linux_Hint Esempio.txt "," r ");
c_ = getc (f_ptr);
Mentre ( ! feof (f_ptr))

printf ("%c", c_);
c_ = getc (f_ptr);
c_count ++;

printf ("\ nextrated caratteri: %li \ n", c_);
fclose (f_ptr);

Nella figura seguente, è possibile vedere il risultato dell'estrazione seguita dal numero di caratteri estratti:

Conclusione

In questo Suggerimento Linux Articolo, abbiamo spiegato come usare feof () Per determinare la fine di un file.

Abbiamo anche dimostrato l'uso pratico di questa funzione creando una semplice applicazione console che estrae i dati da un file di testo e utilizza feof () Per determinare la fine del file e terminare il ciclo di estrazione. Ti abbiamo anche mostrato come utilizzare le diverse funzioni aggiuntive e complementari per aprire, chiudere e modificare i file nella lingua C. Speriamo che questo articolo sia utile per te. Per articoli più pertinenti, Brose tramite il motore di ricerca di Linux Hint.