Вот такой кусок кода:
fstream Results;
Results.open(path2, fstream::in | fstream::out | fstream::app);
if (!Results.is_open())
{
cout << "Ошибка открытия файла" << n;
}
else
{
int newM;
char rE;
int gresult = rarr[0] + rarr[1] + rarr[2];
while (!Results.eof())
{
Results >> newM;
if (newM == gresult)
{
Results >> rE;
cout << rE << n;
break;
}
}
}
Results.close();
Массив и путь, говорю сразу, правильные.
Однако написанное в файле не выводится, но и не выдаёт ошибки.
Проверка с помощью отладчика показала, что не выходит из цикла while.
Пожалуйста , объясните почему.введите сюда код
В данном вопросе why is while feof file always wrong написано, что цикл вида:
while( !file.eof() )
почти всегда неверно. Вам следует поменять условие цикла на:
while ( Results >> newM ) {
....
}
Это не ошибка, но не имеет смысла создавать файловый поток без параметров и следующей же строкой открывать его, эти параметры можно просто передать в конструктор:
fstream Results(path2, fstream::in | fstream::out | fstream::app);
Скорее всего у вас не int
в файле.
Ошибка чтения при неверном условии завершения приводит к тому, что вы пытаетесь читать какую-то ерунду - не целое число - вечно...
while (!Results.eof())
{
Results >> newM;
...
}
Получается так:
Была попытка чтения за концом файла? Нет? Тогда читаем int
. Не удалось? Остаемся на том же месте, выставляем состояние файла fail
.
Идем к условию цикла. Была попытка чтения за концом файла? Нет? Тогда читаем int
? нет, файл в состоянии fail
.
Так что идем к условию цикла. Была попытка чтения за концом файла? Нет? Тогда читаем int
? нет, файл в состоянии fail
.
Так что идем к условию цикла. Была попытка чтения за концом файла? Нет? Тогда читаем int
? нет, файл в состоянии fail
. Так что идем...
Виртуальный выделенный сервер (VDS) становится отличным выбором
Имеется связь OneToMany, У одного Region есть много DistrictsИмеется простой REST контроллер, который возвращает все Region, но ответ приходит
Напишите программу, которая загружает матрицу и выполняет указанные преобразования указанного массива на 90, -90, 90 градусовПреобразования...
Можно ли добавить собственный элемент управления в SceneBuilder, что бы кроме стандартных (например TextField) в списке было MyTextField?