logo

C fprintf() і fscanf()


Запис файлу: функція fprintf().

Функція fprintf() використовується для запису набору символів у файл. Він надсилає форматований вихід у потік.

Синтаксис:

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

приклад:

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

Читання файлу: функція fscanf().

Функція fscanf() використовується для читання набору символів із файлу. Він читає слово з файлу та повертає EOF у кінці файлу.

Синтаксис:

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

приклад:

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

Вихід:

 Hello file by fprintf... 

Приклад файлу C: зберігання інформації про співробітника

Давайте розглянемо приклад обробки файлу для зберігання інформації про співробітника, яку вводить користувач із консолі. Ми будемо зберігати ідентифікатор, ім’я та зарплату працівника.

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

Вихід:

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

Тепер відкрийте файл із поточного каталогу. Для операційної системи Windows перейдіть до каталогу TCin, ви побачите файл emp.txt. Він матиме наступну інформацію.

найкрасивіша усмішка в світі

emp.txt

 Id= 1 Name= sonoo Salary= 120000