Глава 12. Библиотечные функции Borland C++_______________

// Открыть существующий файл для исправления (чтения и записи) if ((fHandle = fopen ( "NAMES.TXT", "r+t")) == NULL) {

// При ошибке открытия файла вывести сообщение // и выйти с кодом возврата 1 printf("%s\n","Error Opening File");

return (1) ;

}

while ((fgets( StrBuf, 80, fHandle)) != NULL) {

// Получить текущее значение файлового указателя CurPos = ftell( fHandle);

// Проверка на совпадение прочитанного имени // ,с искомой строкой if (stricmp (StrBuf, NameCmp) ==0) {

// При совпадении передвинуть указатель

//в начало найденной строки и записать

// на это место новую строку.

fseek(fHandle,(CurPos - strlen(NameCmp)-1), SEEK_SET);

fprintf(fHandle,"%s\n","Patty") ;

} }

_____285

// fseek на начало файла fseek(fHandle, 0, SEEK_SET);

// Последовательно прочитать и вывести содержимое

// файла, пока функция fgets() не возвратит NULL,

// означающий конец файла.

while ((fgetsf StrBuf, 80, fHandle)) != NULL)

{

printf("%s\n",StrBuf) ;

}

//Закрыть файл fclose ( fHandle) ;

return (0) ;

}

В результате выполнения этой программы мы получим следующий результат:

C:>SHOWERR1 '

Nanci

Jim

David

Patty

heryl