Где ошибка в коде, если файлы пустые а программа дальше не идёт. СИ - Компьютерные вопросы

Вопрос Где ошибка в коде, если файлы пустые а программа дальше не идёт. СИ

Регистрация
14 Июн 2013
Сообщения
89
Репутация
0
Спасибо
0
Монет
0
Int y = 1;
FILE* file;
FILE* elif;
do {
file = fopen("file.txt", "r+");
elif = fopen("elif.txt", "r+");
fseek(file, N, SEEK_SET);
fseek(elif, N, SEEK_SET);
if (fgetc(file) ==' ')break;
N = N + 35;
fclose(file);
fclose(elif);
} while (y > 0);
 
Регистрация
19 Сен 2013
Сообщения
86
Репутация
0
Спасибо
0
Монет
0
Какой ужас. Вынеси открытие и закрытие файла за цикл. Зачем вообще используется поток elif? Для определения конца файла существует константа EOF. Где объявление переменной N? Вместо условия y>0, где "y" равно единице, уж лучше писать while(1) или while (true). Что за магическое число 35? Собственно, а что этот участок кода делает? Явные проблемы в логике. Весь этот код можно убрать и работа программы останется прежней.
 
Регистрация
28 Июл 2013
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
Эмм. в том коде что виден на mail.ru - y в цикле не меняется, но по нему задано условие выхода из цикла. Не знаю точно что Вы хотели, т. к. задания нет - но Вы определённо делаете что-то не то =) Что именно не то - без задания не сказать
 
Регистрация
26 Апр 2013
Сообщения
83
Репутация
0
Спасибо
0
Монет
0
   Интересно знать, для чего Вы открываете и закрываете файлы внутри тела цикла??? Для работы с файлом достаточно открыть его всего один раз и оставить открытым, пока планируется обращаться к нему. ••• А после всех обращений к файлу можно закрыть его И ТОЖЕ ОДИН РАЗ!!!
 
Сверху Снизу