fseek(указатель на файл, позиция, параметр)
где позиция - количество байтов (символов), отстоящих от заданного места, параметр - SEEK_SET - начало файла,
- SEEK_CUR - текущая позиция файла,
- SEEK_END - конец файла.
Пример 1: прочитать символ из бинарного файла, отстоящий от начала файла на 9 байтов:
f_bin=fopen("D:/User/my_file.dat", "rb");
Fseek(f_bin, 9, SEEK_SET);
fscanf(f_bin, "%c", &d);
printf("%c", d);
На экран будет выведено:
*
Пример 2: прочитать символ из бинарного файла, отстоящий от конца файла на 6 байтов:
f_bin=fopen("D:/User/my_file.dat", "rb");
Fseek(f_bin, -6, SEEK_END);
fscanf(f_bin, "%c", &d);
printf("%c", d);
На экран будет выведено:
+
б) определение номера текущей позиции, занимаемой указателем файла (нумерация позиций начинается с нуля)
fgetpos(указатель на файл, fpos_t *pos)
где pos - текущая позиция указателя файла - переменная типа fpos_t
(определен в stdio.h).
Пример: определить номера позиций начального и конечного символов файла:
fpos_t *nomer;
f_bin=fopen("D:/User/my_file.dat", "rb");
fgetpos(f_bin, &nomer); // номер начального символа
printf("\n nomer=%d", nomer);
while (!feof(f_bin)) // читаем файл до конца
{
fscanf(f_bin, "%c", &d);
}
fgetpos(f_bin, &nomer); // номер конечного символа
printf("\n nomer=%d", nomer);
На экран будет выведено:
nomer=0
nomer=15
Дата добавления: 2015-10-19; просмотров: 880;