Cum să citiți un fișier text în C

Cum Sa Cititi Un Fisier Text In C



Fișiere text sunt printre cele mai utilizate tipuri de fișiere pe computere. Acestea pot fi utilizate pentru o mare varietate de sarcini, cum ar fi stocarea documentelor text sau a codurilor sursă de program. Sunt salvate în sistem cu .TXT extensie. În timp ce lucrați la codul C, poate fi necesar să citiți un fișier text ca parte a proiectului sau să obțineți ajutor din fișierul text. În loc să vă întoarceți la locație pentru a citi un fișier text, este mai bine să îl citiți în interiorul unui cod.

Acest articol discută modalități utile de a citi un fișier text în limbajul de programare C.

Citiți un fișier text în C

Există patru metode de a citi un fișier text în C, care sunt.







Metoda 1: Utilizarea funcției fscanf() pentru a citi un fișier text în C

The fscanf() funcția este o funcție standard de bibliotecă care preia o serie de argumente și le convertește în valori care pot fi utilizate de programul dumneavoastră. Găsește un șir de format în interiorul fișierului și returnează un șir de format atunci când citește din fișier. Șirul de format trebuie să fie cuprins între ghilimele (“”), astfel încât acestea să nu fie interpretate de programul dumneavoastră ca parte a propriei sintaxe.



The fscanf() funcția citește datele în locurile furnizate de elementele din lista de argumente. Intrările din lista de argumente trebuie să indice toate variabilele ale căror tipuri se potrivesc cu specificatorii de tip din șirul de format.



Oferă fie EOF (sfârșitul fișierului), fie numărul de variabile cu valori atribuite acestora.





Să ne uităm la un exemplu pentru a citi un fișier text folosind fscanf() funcţie:

#include
int principal ( )
{
FIŞIER * ptr = fopen ( „nume_fișier.txt” , 'r' ) ;
dacă ( ptr == NULL ) {
printf ( „nu există un astfel de fișier”. ) ;
întoarcere 0 ;
}
char buf [ 100 ] ;
in timp ce ( fscanf ( ptr, „%s” , buf ) == 1 )
printf ( „%s \n ' , buf ) ;
întoarcere 0 ;
}

În acest cod, fopen() funcția este utilizată pentru a deschide fișierul sub variabila pointer ptr. fscanf() funcția este apoi utilizată pentru a citi fișierul și apoi a imprima conținutul acestuia.



Ieșire

Metoda 2: Utilizarea funcției fread() pentru a citi un fișier text în C

Datele din fișier sunt citite de către Fread() metoda și stocat într-un buffer. Până la un număr de articole sunt citite într-un tampon de matrice de către friad() funcție din fluxul de intrare, care este furnizat ca argument funcție.

Când numărul total de articole sunt citite cu succes, este returnat un obiect size_t. Dacă această valoare este diferită de valoarea specificată de program, fie a apărut o eroare, fie s-a ajuns la sfârșitul fișierului.

#include
int principal ( )
{
tampon de tip char [ 33 ] ;
FIŞIER * curent;
stream = fopen ( „nume_fișier.txt” , 'r' ) ;
int count = fread ( & tampon, dimensiunea ( char ) , 33 , curent ) ;
fclose ( curent ) ;
printf ( „Date citite din fișierul: %s \n ' , tampon ) ;
printf ( „Numărul de elemente citite: %d” , numara ) ;
întoarcere 0 ;
}

În acest cod, fopen() funcția este folosită pentru a deschide fișierul și apoi friad() funcția este apoi utilizată pentru a citi fișierul și apoi a imprima conținutul acestuia. 33 arată numărul de caractere pe care le va citi din fișier.

Ieșire

Metoda 3: Utilizarea funcției fgets() pentru a citi un fișier text în C

Cu fgets() funcția, o linie este citită din fluxul specificat și stocată în variabila șir corespunzătoare. Când sunt citite (n-1) caractere, caracterul de nouă linie sau sfârșitul fișierului, sau oricare dintre acestea se întâmplă mai întâi, programul se termină. Dacă funcția are succes, este returnat același șir. Conținutul șirului de caractere este păstrat în loc și apare un pointer nul dacă funcția atinge Sfârșitul fișierului fără caractere citite.

În cazul unei erori, acesta oferă un pointer nul.

#include
int principal ( ) {
FIŞIER * fp;
char str [ 60 ] ;
fp = fopen ( „fișier.txt” , 'r' ) ;
dacă ( fp == NULL ) {
groază ( „Eroare la deschiderea fișierului” ) ;
întoarcere ( - 1 ) ;
}
dacă ( fgets ( str, 100 , fp ) ! =NULL ) {
pune ( str ) ;
}
fclose ( fp ) ;
întoarcere ( 0 ) ;
}

În acest cod, fișier.txt fișierul este deschis de fopen() funcția și apoi fgets() funcția este apoi utilizată pentru a citi șirurile din fișier și apoi a le tipări. 100 arată numărul de șiruri pe care le va citi.

Ieșire

Metoda 4: Utilizarea funcției fgetc() pentru a citi un fișier text în C

The fgtec() funcția este folosită pentru a citi caracterele unul câte unul. Funcția returnează apoi codul ASCII al caracterului pe care l-a citit. Returnează caracterul care a fost prezent la locul indicat al indicatorului de fișier. Indicatorul fișierului trece apoi la următorul caracter. Dacă există o eroare sau indicatorul ajunge la sfârșitul fișierului, această funcție returnează un EOF (End-Of-File).

#include
int principal ( )
{
FIŞIER * fp = fopen ( „fișier.txt” , 'r' ) ;
dacă ( fp == NULL )
întoarcere 0 ;
do {
char c = fgetc ( fp ) ;
dacă ( feof ( fp ) )
pauză ;
printf ( „%c” , c ) ;
} in timp ce ( 1 ) ;
fclose ( fp ) ;
întoarcere ( 0 ) ;
}

fișier.txt ” fișierul este deschis de către fopen() funcția din acest cod sub variabila pointer fp. Caracterele fișierului sunt apoi citite folosind fgetc() metoda, care tipărește caracterele care au fost citite.

Ieșire

Concluzie

Citirea fișierelor este o necesitate pentru fiecare utilizator de computer și, mai ales pentru un dezvoltator, este important ca acesta să poată accesa fișierele folosind codul său. Prin urmare, 4 metode sunt menționate mai sus în articol pentru citirea a fisier text folosind limbajul C. fscanf() și friad() sunt folosite pentru a citi fișierele în mod similar, cu excepția că friad() ne permite să specificăm numărul de caractere pe care utilizatorul dorește să le citească, în timp ce fgets() este folosit pentru a citi un fișier linie cu linie și fgetc() este folosit pentru a citi un fișier caracter cu caracter.