|
|||
putchar(ch);. include <stdio.h>. FILE •fi;. int age;. fclose(fi);. Фрагмент 2. if((fp=fopen(F.txt,r))!=NULL). while(fscanf(fp,%d %s ,&j,str)!=EOF). cout<<j=<<j<<str=&lputchar(ch); У файлі stdio.h. визначає в директиві #define вказівникиstdout і stdin на стандартний Вивід і стандартне вводу системи. #include <stdio.h> main( ) { FILE *in; /* описую вказівник на файл */ int ch; if ( (in = fopen(" test", "r")) != NULL) { while ( (ch = getc(in) != EOF) /* одержую символ з in */ putc(ch, stdout); /* посилаю на стандартний Вивід */ fclose(in); /* закриваю файл */ } else рrintf ("я не змогла відкрити файл \"test\" .\n"); } Ввід/вивід ФАЙЛУ: fprintf(), fscanf(), fgets() И fputs() Подібноgetc( ) і putc( ) ці функції використовуються після функціїfopen(), що відкриває файл, і перед fclose( ), що закриває його. Функції fprintf( ) і fscanf( )Ці функції вводуввиводу працюють майже як printf() і scanf(), але їм потрібний додатковий аргумент для посилання на сам файл. Він є першим у списку аргументів. /* зразок використання fprintf( ) і fscanf( ) */ #include <stdio.h> main( ) { FILE •fi; int age; fi = fopen ("sam", "г"'); /* зчитування */ fscanf( fi, " %d", &age); /• fi указує на sam */ fclose(fi); fi = fopen (“data", " a"); /* доповнення */ fprintf ( fi, "sam is %d.\n”, age); /'* fi указує на data */ fclose(fi); } Фрагмент 2 if((fp=fopen("F.txt","r"))!=NULL) { while(fscanf(fp,"%d %s ",&j,str)!=EOF) cout<<"j="<<j<<"str="<<str; } Помітимо, що можна було використовувати fi для двох різних файлів, тому що ми закрили перший файл, перш ніж відкрити другий. На відміну відgetc() і putc() ці дві функції одержують вказівник типуFILE у якості першого аргументу. Дві інші, описані нижче, одержують його як останній аргумент. Функція fgets() Ця функція має три аргументи, у той час як gets() має один.
|
|||
|