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

C:>TYPE NAMES.TXT

Nanci

Jim

David

Chip

Cheryl

Как видите, действительно нет иной возможности определить длины строк иначе, чем прочитав их.

В листинге 12.5 показано, как прочитать и вывести содержимое файла Names.txt.

h02831.jpg

#include <stdio.h>

int main()

*

{ FILE *fHandle;

char StrBuf[80];

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

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

return (1) ;

)

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

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

// указывающий на кон&ц файла.

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

{

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

}

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

return (0) ;

}

Запустив программу 12.5, мы увидим картину, изображенную на рис. 12.2. Изменив имена в файле Names.txt, вы увидите, что на экране они тоже изменятся.

Как изменить значение, скажем, четвертой строки файла? Для этого надо считать все строки, найти четвертую, заменить ее и записать изменения.