Программирование на C и C++

Онлайн справочник программиста на C и C++

fsetpos

int fsetpos(FILE *stream, const fpos_t *pos)

Прототип: 
Описание: 

Функция fsetpos() устанавливает указатель положения в файле, связанном с потоком stream, в позицию, указанную аргументом pos. Значение последнего было установлено при предшествую­щем обращении к функции fgetpos(). Тип fpos_t определен в stdio.h. Он может представлять по­ложение в любом файле.

В случае успеха fsetpos() возвращает 0; при неудаче возвращается ненулевая величина, а пере­менной errno присваивается ненулевое значение.

Пример: 
Данная программа использует fsetpos() для возврата от текущей позиции в файле к предшествую­щему значению
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fp;
long l;
int i;
fpos_t *pos; /* fpos_t определен в stdio.h */
pos = &l;
if((fp=fopen(argv[1], "w+"))==NULL) {
printf ("Cannot open file.\n");
exit(1);
}
for (i=0; i <10; i + + )
fputc ('Y', fp); /* запись 10 Y в файл */
fgetpos(fp, pos);
for (i=0; i <10; i++)
fputc ('Z', fp); /* запись 10 Z в файл */
fsetpos(fp, pos); /* переустановка на конец Y-ов */
fputc('A', fp); /* замена первого Z буквой A */
fclose(fp);
return 0;
}