Для дополнения файла новыми данными необходимо установить текущую позицию на конец файла и выполнить операцию записи. Текущая позиция представляется в программе переменной типа long. Для работы с ней в стандартной библиотеке имеются две функции:
#define SEEK_SET 0 // Относительно начала файла
// начало файла - позиция 0
#define SEEK_CUR 1 // Относительно текущей позиции,
// > 0 - вперед, < 0 - назад
#define SEEK_END 2 // Относительно конца файла
// (значение pos - отрицательное)
Функция fseek возвращает значение 0 при успешном позиционировании и -1 (EOF) -при ошибке. Получить текущую длину файла можно простым позиционированием:
long fsize; fseek(fl,0L,SEEK_END); // Установить позицию на конец файла
fsize = ftell(fd); // Прочитать значение текущей позиции
Функции fread и fwrite используются для перенесения данных из файла в память программы (чтение) и обратно (запись).
int fread (void *buf, int size, int nrec, FILE *fd); int fwrite (void *buf, int size, int nrec, FILE *fd);
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий