Функции библиотеки C -fseek()
Стандартная библиотека C - <stdio.h>
Описание
Функции библиотеки Cint fseek(FILE *stream, long int offset, int whence)Установить потокstreamПозиция файла устанавливается на заданное смещение.offset, параметр offset означает смещение от заданногоwhenceКоличество байтов для поиска позиции.
Объявление
Ниже приведено объявление функции fseek().
int fseek(FILE *stream, long int offset, int whence)
Параметр
- stream-- Это указатель на объект FILE, который идентифицирует поток.
- offset-- Это смещение в байтах относительно whence.
- whence-- Это позиция, указывающая, откуда добавляется смещение. Обычно задается одной из следующих констант:
| Константы | Описание |
|---|---|
| SEEK_SET | Начало файла |
| SEEK_CUR | Текущая позиция указателя файла. |
| SEEK_END | Конец файла |
Возвращаемое значение
Если успешно, эта функция возвращает ноль; в противном случае она возвращает ненулевое значение.
Пример
Следующий пример демонстрирует использование функции fseek().
#include <stdio.h>
int main ()
{
FILE *fp;
fp = fopen("file.txt","w+");
fputs("This is example.com", fp);
fseek( fp, 7, SEEK_SET );
fputs(" C Programming Langauge", fp);
fclose(fp);
return(0);
}
Давайте скомпилируем и запустим вышеуказанную программу, которая создаст файл.file.txt, его содержимое выглядит следующим образом. Сначала программа создаёт файл и записываетThis is example.com, но затем мы сбрасываем указатель записи на седьмую позицию и используем оператор puts(), чтобы перезаписать файл следующим образом:
This is C Programming Langauge
Теперь давайте используем следующую программу для просмотра содержимого вышеуказанного файла:
#include <stdio.h>
int main ()
{
FILE *fp;
int c;
fp = fopen("file.txt","r");
while(1)
{
c = fgetc(fp);
if( feof(fp) )
{
break ;
}
printf("%c", c);
}
fclose(fp);
return(0);
}
Другие расширения