Информатика. Общая информатика. Основы языка C++. Мамонова Т.Е. - 202 стр.

UptoLike

Составители: 

FILE *f – указатель на файл,
long off – позиция смещения
int org – начало отсчета.
Смещение задается выражение или переменной и может быть отри-
цательным, т.е. возможно перемещение как в прямом, так и в обратном
направлениях. Начало отсчета задается одной из определенных в файле
<stdio.h> констант:
SEEK_SET ==0 – начало файла;
SEEK_CUR==1 – текущая позиция;
SEEK_END ==2 – конец файла.
Функция возвращает 0, если перемещение в потоке выполнено
успешно, иначе возвращает ненулевое значение.
Пример 114
fseek(f,0L,SEEK_SET); /*перемещение к началу по-
тока из текущей позиции*/
fseek(f,0L,SEEK_END); /*перемещение к концу по-
тока из текущей позиции*/
fseek(f,-(long)sizeof(a),SEEK_SET); //перемеще-
ние назад на длину переменной а.
Кроме этой функции, для прямого доступа к файлу используются:
long tell(FILE *f);/*получает значение указателя
текущей позиции в потоке*/
void rewind(FILE *f);/*установить значение ука-
зателя на начало потока.*/
4.11.6.2 Удаление и добавление элементов в файле
Удаление и добавление элементов в файле наглядно представлено
в примере 115 и примере 116.
Пример 115
void del(char *filename)
{
//удаление записи с номером х
FILE *f, *temp;
f=fopen(filename,”rb”);//открыть исходный файл
для чтения
temp=fopen(“temp”,”wb”)//открыть вспомогательный
файл для записи
student a;
202