URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5491
[ Назад ]

Исходное сообщение
"Чтение из файла по две строки до конца файла"

Отправлено ap , 12-Июн-06 09:35 
Помогите написать цикл, который бы читал по две строки из тестового файла на Си (внутри цикла должны проводиться операции сравнения строк и вычисляться необходимые данные).
В файле может быть как четное так и нечетное число строк, необходима проверка на конец файла и если остается одна строка (нечетное число строк в файле), программа должна все равно ее прочитать.
Сейчас построчное чтение организовано ввиде следующего цикла:
while (fgets(str, 550, Ffile) != NULL) {
Тело цикла;
}.
PS:Может вопрос глупый,но не могу найти красивое решение.Заранее спазибо за помощь.


Содержание

Сообщения в этом обсуждении
"Чтение из файла по две строки до конца файла"
Отправлено phpcoder , 13-Июн-06 07:29 
>PS:Может вопрос глупый,но не могу найти красивое решение.

Советую сначала сделать работающее решение. А уж как его сделать красивым можно и потом придумать :)



"Чтение из файла по две строки до конца файла"
Отправлено green , 16-Июн-06 00:00 
>>PS:Может вопрос глупый,но не могу найти красивое решение.
>
>Советую сначала сделать работающее решение. А уж как его сделать красивым можно
>и потом придумать :)

Попробуй читаь побйтно и запихивать в переменную на втором переходе строки


"Чтение из файла по две строки до конца файла"
Отправлено Аноним , 16-Июн-06 10:32 
>Помогите написать цикл, который бы читал по две строки из тестового файла
>на Си (внутри цикла должны проводиться операции сравнения строк и вычисляться
>необходимые данные).
>В файле может быть как четное так и нечетное число строк, необходима
>проверка на конец файла и если остается одна строка (нечетное число
>строк в файле), программа должна все равно ее прочитать.
>Сейчас построчное чтение организовано ввиде следующего цикла:
>while (fgets(str, 550, Ffile) != NULL) {
>Тело цикла;
>}.
>PS:Может вопрос глупый,но не могу найти красивое решение.Заранее спазибо за помощь.

В общем ИМХО следует сначала прочитать весь файл построчно
int n = 0;
while(fgets(fd) != NULL)
{
     n++;
}

Потом в зависимости от значения переменной n узнать количество строк, и выполнять цикл...
вотъ.
glist