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