Datoteka za pisanje: funkcija fprintf().
Funkcija fprintf() koristi se za pisanje skupa znakova u datoteku. Šalje formatirani izlaz u tok.
Sintaksa:
slučajno u c
int fprintf(FILE *stream, const char *format [, argument, ...])
Primjer:
#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 }
Čitanje datoteke: funkcija fscanf().
Funkcija fscanf() koristi se za čitanje skupa znakova iz datoteke. Čita riječ iz datoteke i vraća EOF na kraju datoteke.
Sintaksa:
int fscanf(FILE *stream, const char *format [, argument, ...])
Primjer:
#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); }
Izlaz:
Hello file by fprintf...
Primjer C datoteke: Pohranjivanje podataka o zaposlenicima
Pogledajmo primjer rukovanja datotekom za pohranjivanje podataka o zaposleniku onako kako ih korisnik unese s konzole. Pohranit ćemo iskaznicu, ime i plaću zaposlenika.
#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); }
Izlaz:
kajal aggarwal
Enter the id 1 Enter the name sonoo Enter the salary 120000
Sada otvorite datoteku iz trenutnog direktorija. Za operacijski sustav Windows idite u direktorij TCin, vidjet ćete datoteku emp.txt. Sadržat će sljedeće informacije.
emp.txt
Id= 1 Name= sonoo Salary= 120000