Функции библиотеки C -fgetpos()
Стандартная библиотека C - <stdio.h>
Описание
Функции библиотеки Cint fgetpos(FILE *stream, fpos_t *pos)Получает streamstreamтекущую позицию файла и записывает её вpos。
Объявление
Ниже приведено объявление функции fgetpos().
int fgetpos(FILE *stream, fpos_t *pos)
Параметр
- stream-- Это указатель на объект FILE, который идентифицирует поток.
- pos-- Это указатель на объект fpos_t.
Возвращаемое значение
В случае успеха эта функция возвращает ноль. Если возникает ошибка, возвращается ненулевое значение.
Пример
Следующий пример демонстрирует использование функции fgetpos().
#include <stdio.h>
int main ()
{
FILE *fp;
fpos_t position;
fp = fopen("file.txt","w+");
fgetpos(fp, &position);
fputs("Hello, World!", fp);
fsetpos(fp, &position);
fputs("这将覆盖之前的内容", fp);
fclose(fp);
return(0);
}
Давайте скомпилируем и запустим вышеприведённую программу, которая создаст файлfile.txt, содержимое которого следующее. Сначала мы используемfgetpos()Функция получает начальную позицию файла, затем мы записываем в файлHello, World!, затем мы используемfsetpos()Функция используется для сброса указателя записи в начало файла и перезаписи файла следующим содержимым:
This will overwrite the previous content.
Теперь давайте используем следующую программу для просмотра содержимого вышеуказанного файла:
#include <stdio.h>
int main ()
{
FILE *fp;
int c;
int n = 0;
fp = fopen("file.txt","r");
while(1)
{
c = fgetc(fp);
if( feof(fp) )
{
break ;
}
printf("%c", c);
}
fclose(fp);
return(0);
}
Другие расширения