Funkcija fgets () u C ++ čita određeni maksimalni broj znakova iz zadanog toka datoteka.
prototip fgets ()
char * fgets (char * str, int count, FILE * stream);
fgets()
Funkcija čita najviše count-1
likova iz zadanog file potoka i pohranjuje ih u nizu na koji pokazuje str.
Raščlanjivanje se nastavlja sve dok se ne dogodi kraj datoteke ili dok se ne nađe znak novog retka ( n). Polje str sadržavat će i znak novog retka u slučaju da bude pronađen. Ako se ne dogodi pogreška, na kraju str. Zapisuje se null znak.
Definirano je u datoteci zaglavlja.
fgets () parametri
- str: Pokazivač na niz znakova koji pohranjuje sadržaj datoteke.
- count: Maksimalan broj znakova za pisanje.
- stream: tok datoteke za čitanje znakova.
fgets () Povratna vrijednost
- U uspjehu funkcija fgets () vraća str, a u slučaju neuspjeha vraća null pokazivač.
- Ako je kvar uzrokovan zbog stanja datoteke na kraju, postavlja
eof
indikator. U ovom slučaju, sadržaj str se ne mijenja. - Ako je kvar uzrokovan nekom drugom pogreškom, postavlja indikator pogreške. U ovom slučaju, sadržaj str je neodređen. Možda neće biti ništetno ukinuti.
Primjer: Kako funkcionira funkcija fgets ()
#include #include using namespace std; int main() ( int count = 10; char str(10); FILE *fp; fp = fopen("file.txt","w+"); fputs("An example file", fp); fputs("Filename is file.txt", fp); rewind(fp); while(feof(fp) == 0) ( fgets(str,count,fp); cout << str << endl; ) fclose(fp); return 0; )
Kada pokrenete program, mogući izlaz bit će:
Primjer datoteke Datoteka je file.t xt