Fclose ( fp );. Функция fgetsчитает строку из файла, пока не случится одно из двух событий:
}
Функция fgetsчитает строку из файла, пока не случится одно из двух событий:
• встретится символ перехода на новую строку '\n';
• прочитано столько символов, что они заняли всю строку (с учетом последнего нуля), например, в нашем случае она остановится, если прочтет 79 символов.
В конце строки будет поставлен символ '\0'. Кроме того, если был найден символ перехода на новую строку '\n', он сохраняется и в строке s.
Пример.В каждой строке файла input.datзаменить все буквы 'A'на 'Б'и вывести изме-
ненный текст в файл output.dat.Обратите внимание, что в этой задаче файл может быть любой длины. Но мы можем обрабатывать строки последовательно одну за другой, так как для обработки одной строки не нужны предыдущие и следующие.
Для чтения из файла используем цикл while. Он заканчивает работу, если функция
fgetsвернет значение NULL, то есть все строки обработаны.
#include <stdio.h>
Main()
{
char s[80];
Int i;
FILE *fin, *fout;
fin = fopen ( "input.dat", "r" );
fout = fopen ( "output.dat", "w" );
while ( NULL != fgets ( s, 80, fin ) ) // читаемстроку
{
i = 0; // начинаемсs[0]
while ( s[i] != '\0' ) { // пока не конец строки
if ( s[i] == 'А' ) s[i] = 'Б'; // меняемсимвол
i ++; // переходим к следующему символу
}
fprintf ( fout, "%s", s ); // выводим строку в файл
}
Fclose ( fin );
Дата добавления: 2015-10-05; просмотров: 676;