Форматированный ввод-вывод

В некоторых случаях информацию удобно записывать в файл без преобразования, т. е. в символьном виде пригодном для непосредственного отображения на экран. Для этого можно использовать функции форматированного ввода-вывода:

1) int fprintf(FILE *f, const char*fmt,. . .) , где

FILE*f – указатель на файл, в который производится запись,

const char*fmt – форматная строка,

. . . – список переменных, которые записываются в файл.

Функция возвращает число записанных символов.

2) 1) int fscanf(FILE *f, const char*fmt, par1,par2, . . .) , где

FILE*f – указатель на файл, из которого производится чтение,

const char*fmt – форматная строка,

par1,par2,. . . – список переменных, в которые заносится информация из файла.

Функция возвращает число переменных, которым присвоено значение.

Пример:

void main()

{

FILE *f;

int n;

if((f=fopen(“int.dat”,”w”))==0)

{

perror(“int.dat”);

exit(0);

}

for(n=1;n<11;n++)

fprinf(f,” %d %d”,n,n*n);

fclose(f);

if((f=fopen(“int.dat”,”r”))==0)

{

perror(“int.dat”);

exit(1);

}

int nn;

while(fscanf(f, ”%d%d”,&n,&nn))

printf(“ %d %d”,n,nn);

fclose(f);

}