Come leggere l'input da un file in c

Come leggere l'input da un file in c
Le informazioni andranno perse una volta terminata un programma. Quando salviamo i dati in un file, verrà mantenuto sebbene il programma si blocchi. Se abbiamo molti dati da inserire, ciò richiederebbe più tempo per farlo. Ma, se abbiamo un file che include tutto il contenuto, lo recuperemmo rapidamente utilizzando alcune funzioni C. Trasferiremo direttamente il file da un dispositivo all'altro senza modifiche.

Esistono due tipi di file: testo e binario. I file di testo sono quelli con l'estensione .TXT. Questi file sono semplici da realizzare. Quando accederemo a questi file, avremo un testo chiaro per tutte le informazioni. I dati possono essere semplicemente modificati o eliminati. L'estensione .Il bidone indica un file binario. Invece di conservare le informazioni in testo chiaro, lo fanno in numeri binari (0s e 1s).

Discutiamo in dettaglio i vari approcci su come leggere il contenuto di un file.

Utilizzo della funzione fseek () per leggere l'input dal file

Se abbiamo un gran numero di voci in un file e vogliamo recuperarle uno per uno in una posizione particolare, allora dobbiamo iterare attraverso ogni elemento prima di questo. Considererebbe una quantità significativa di memoria e tempo di elaborazione. Attraverso la funzione fseek (), possiamo ottenere le informazioni necessarie in modo più efficiente.

#includere
#includere
struct thrumber

int Num1, Num2, Num3;
;
int main ()

int n;
Numero di thrnumber struct;
File *fptr;
if ((fptr = fopen ("file_1.txt "," r ")) == null)
printf ("file non può aprire");
uscita (1);

fseek (fptr, -sizeof (struct thrumber), seek_end);
per (n = 1; n < 5; ++n)

Fread (& Number, sizeof (struct Thrnumber), 1, FPTR);
printf ("n1: %d \ tn2: %d \ tn3: %d \ n", numero.Num1, numero.Num2, numero.num3);
fseek (fptr, -2*sizeof (struct thrumber), seek_cur);

fclose (fptr);
restituzione 0;

Qui inizieremo il programma integrando i file di intestazione richiesti #include e #include . Ora creiamo una funzione e quindi vengono inizializzate tre diverse variabili. Queste variabili hanno un tipo di dati interi. Successivamente, dichiariamo la funzione principale () e iniziamo la codifica nel corpo della funzione principale ().

Oltre a ciò, costruiamo un puntatore di file. L'istruzione "if" viene quindi applicata. Qui, impostiamo il puntatore del file uguale alla funzione fopen (). La funzione fopen () viene utilizzata per aprire il file specificato. Con l'aiuto dell'istruzione IF, verifichiamo se il percorso indicato del file è uguale a "NULL" L'istruzione printf stampa il file 'File non è possibile aprire'. Altrimenti, il programma esce.

Viene utilizzato un ulteriore metodo Fseek (). Contiene tre parametri. Il primo argomento contiene il puntatore del file. Il secondo argomento mostra la posizione del file dato. Allo stesso modo, l'ultimo argomento indica il punto da dove inizia la deviazione. Oltre a ciò, ci candidiamo per un ciclo. Dichiariamo la variabile e impostiamo la condizione per il numero e poi infine, facciamo un incremento del valore di un numero.

Per ottenere il testo dal file specificato, impieghiamo la funzione Fread (). Ora dobbiamo stampare il risultato in modo che venga utilizzata la funzione printf (). Ancora una volta, applichiamo la funzione fseek (). Alla fine per chiudere il file dato, abbiamo usato la funzione fclose ().

Utilizzo della funzione fGetc () per leggere l'input da un file

La funzione FGETC () recupera i caratteri di cui si riferiva dall'indicatore della funzione. Fornisce la parola ricevuta dal flusso e regola il punto di lettura verso la parola successiva dopo ogni lettura valida. Ma se non sono presenti dati da leggere, questo metodo calcola un EOF variabile (-1).

#includere
#includere
#includere
int main ()

File* fptr;
Char Chr;
fptr = fopen ("dati.txt "," r ");
if (null == fptr)
printf ("Il file non può aprire \ n");

printf ("dati del file è \ n nome: amna \ n età: 24 \ n Nome: sara \ n Età: 16 \ n Nome: aneela \ n Età: 30 \ n");
Fare
CHR = FGETC (FPTR);
printf ("%c", chr);
while (chr != Eof);
fclose (fptr);
restituzione 0;

Prima di tutto, includiamo tre file di intestazione. La libreria standard è l'identificatore del file di intestazione . Contiene dati sulla disponibilità di archiviazione e sui metodi gratuiti. INPUT-OUTPUT STANDARD è l'identificatore del file di intestazione . Contiene dati sui metodi di input/output. Il file di intestazione include dichiarazioni macro, variabili e definizioni di metodi e classi che vengono utilizzati non solo per l'elaborazione del testo ma anche per diverse funzioni di gestione dell'archiviazione.

Nel passaggio successivo, inizializziamo la funzione principale (). Qui viene costruito un puntatore di un file specificato e dichiariamo una variabile con un tipo di dati di carattere. Successivamente, utilizziamo la funzione fopen (). Questo metodo contiene due argomenti: il primo parametro mostra il nome del file e il secondo parametro mostra la modalità del file. Qui, il metodo fopen () apre il file definito nella modalità di lettura. Abbiamo usato l'istruzione IF per verificare se il puntatore del file è uguale a "null" o no. Se il puntatore del file è uguale a "null", il programma specificato termina. Altrimenti, utilizziamo la funzione printf () per stampare il contenuto del file.

Oltre a ciò, con l'uso di un ciclo do-while, passiamo attraverso ogni personaggio uno per uno. Qui, dichiariamo la funzione FGETC () per recuperare i dati dal file definito. Ora, applichiamo il ciclo while per esaminare se il personaggio dato non sarebbe alla fine della linea; Se lo sarebbe, smettila di leggere. Viene utilizzato il metodo fclose () e questo porta il file.

Durante l'utilizzo della funzione FGETC (), il codice sopra menzionato legge l'intero dati del file, un singolo carattere alla volta. Un loop do-while verrebbe usato per recuperare i caratteri a meno che non arrivino alla fine del file. Produce il carbone EOF (-1) ogni volta che raggiunge la conclusione.

Conclusione

In questo articolo, abbiamo attraversato diversi modi che vengono utilizzati per leggere i dati dal file. Qui abbiamo applicato i metodi FGETC (), Fread () e Fseek () per ottenere contenuti con l'aiuto di esempi particolari. Tutti sono funzioni predefinite della lingua C. Per leggere ogni singola parola di un file, abbiamo usato il metodo FGETC (). Allo stesso modo per estrarre i dati configurati in un file, abbiamo utilizzato il metodo fseek ().