logo

C fprintf() en fscanf()


Bestand schrijven: fprintf() functie

De functie fprintf() wordt gebruikt om een ​​reeks tekens naar een bestand te schrijven. Het stuurt geformatteerde uitvoer naar een stream.

Syntaxis:

omkerende tekenreeks java
 int fprintf(FILE *stream, const char *format [, argument, ...]) 

Voorbeeld:

 #include main(){ FILE *fp; fp = fopen('file.txt', 'w');//opening file fprintf(fp, 'Hello file by fprintf...
');//writing data into file fclose(fp);//closing file } 

Bestand lezen: fscanf() functie

De functie fscanf() wordt gebruikt om een ​​reeks tekens uit een bestand te lezen. Het leest een woord uit het bestand en retourneert EOF aan het einde van het bestand.

Syntaxis:

 int fscanf(FILE *stream, const char *format [, argument, ...]) 

Voorbeeld:

 #include main(){ FILE *fp; char buff[255];//creating char array to store data of file fp = fopen('file.txt', 'r'); while(fscanf(fp, '%s', buff)!=EOF){ printf('%s ', buff ); } fclose(fp); } 

Uitgang:

 Hello file by fprintf... 

C Bestandsvoorbeeld: werknemersinformatie opslaan

Laten we een voorbeeld bekijken van bestandsverwerking om werknemersinformatie op te slaan zoals ingevoerd door de gebruiker vanuit de console. We gaan het identiteitsbewijs, de naam en het salaris van de werknemer opslaan.

 #include void main() { FILE *fptr; int id; char name[30]; float salary; fptr = fopen('emp.txt', 'w+');/* open for writing */ if (fptr == NULL) { printf('File does not exists 
'); return; } printf('Enter the id
'); scanf('%d', &id); fprintf(fptr, 'Id= %d
', id); printf('Enter the name 
'); scanf('%s', name); fprintf(fptr, 'Name= %s
', name); printf('Enter the salary
'); scanf('%f', &salary); fprintf(fptr, 'Salary= %.2f
', salary); fclose(fptr); }

Uitgang:

kwartalen van het jaar
 Enter the id 1 Enter the name sonoo Enter the salary 120000 

Open nu het bestand vanuit de huidige map. Voor Windows-besturingssystemen gaat u naar de map TCin. U ziet het emp.txt-bestand. Het zal de volgende informatie bevatten.

emp.txt

 Id= 1 Name= sonoo Salary= 120000