double arrow

Функция fsetpos


Функция

#include<stdio.h>

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

устанавливает указатель текущей позиции файла, связанного с потоком stream в новую позицию, которая определяется значением, получаемым предшествующим вызовом функции fgetpos. fsetpos также сбрасывает признак конца файла, но не оказывает влияния на символы, помещаемые в поток функцией ungetc. После вызова fsetpos можно производить как операции ввода, так и вывода.

При успешном завершении fsetpos возвращает 0. При возникновении ошибки она возвращает ненулевое значение и устанавливает errno не равным 0.

Пример:

#include<stdlib.h>

#include<stdio.h>

void showpos(FILE *stream);

int main(void)

{

FILE *stream;

fpos_t filepos;

/* открыть файл для изменения */

stream = fopen("DUMMY.FIL","w+");

/* сохранить текущую позицию указателя */

fgetpos(stream,&filepos);

/* записать в файл данные */

fprintf("stream,"Это тест");

/* вывести текущую позицию */

showpos(stream);

/* установить новую позицию и вывести ее */

if(fsetpos(stream,&filepos) == 0)

showpos(stream);

else

{

fpritf(stderr,"Ошибка указателя файла\n");

exit(1);

}

/* закрыть файл */

fclose(stream);

return 0;

}

void showpos(FILE *stream)

{

fpos_t pos;

/* вывести текущее положение указателя */

fgetpos(stream,&pos);

printf("Позиция указателя: %ld\n",pos);

}







Сейчас читают про: