logo

C fprintf() i fscanf()


Fitxer d'escriptura: funció fprintf().

La funció fprintf() s'utilitza per escriure un conjunt de caràcters al fitxer. Envia la sortida formatada a un flux.

Sintaxi:

declaració de cas verilog
 int fprintf(FILE *stream, const char *format [, argument, ...]) 

Exemple:

 #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 } 

Fitxer de lectura: funció fscanf().

La funció fscanf() s'utilitza per llegir el conjunt de caràcters del fitxer. Llegeix una paraula del fitxer i retorna EOF al final del fitxer.

Sintaxi:

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

Exemple:

 #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); } 

Sortida:

 Hello file by fprintf... 

Exemple de fitxer C: emmagatzemar la informació dels empleats

Vegem un exemple de gestió de fitxers per emmagatzemar la informació dels empleats tal com l'ha introduïda l'usuari des de la consola. Guardarem l'identificador, el nom i el sou de l'empleat.

 #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); }

Sortida:

setinterval javascript
 Enter the id 1 Enter the name sonoo Enter the salary 120000 

Ara obriu el fitxer des del directori actual. Per al sistema operatiu Windows, aneu al directori TCin, veureu el fitxer emp.txt. Tindrà la següent informació.

emp.txt

 Id= 1 Name= sonoo Salary= 120000