284 Часть II. Программирование на C++
Рис. 12.2
Вывод содержимого текстового файла
Для того чтобы изменения можно было записывать не в конец файла, как это делалось до сих пор, а как-то иначе, необходимо использовать файловый указатель. *
Файловый указатель (file pointer) запоминает текущую позицию в файле, с которой будет производиться следующая операция чтения или записи. Запись в текстовый файл аналогична выводу на монитор: позиция курсора отмечает то место, где будет располагаться следующий символ. В этом отношении файловый указатель очень похож на курсор.
Текущую позицию файлового указателя можно узнать, вызвав функцию ftell (). Эта функция возвращает значение текущей позиции в файле, имеющее тип long int.
Просто уметь определить местоположение указателя недостаточно для того, чтобы передвинуть его в то место, откуда мы собираемся начать чтение или запись. Установка указателя в необходимое положение осуществляется с помощью функции fseek ().
В листинге 12.6 функции ftell о и fseek о используются для перемещения указателя к первому символу слова chip для того, чтобы переписать содержимое этой строки.
ttinclude <stdio.h> ftinclude <string.h>
int main()
{
FILE *fHandle;
char StrBuf[80] ;
char NameCmp[] = "Chip\n";
long int CurPos;