После открытого текстового файла, я прочитал все с:QFile atEnd: как сбросить «atEnd»?
QFile MyFile("myfile.txt);
MyFile.open(QIODevice::ReadOnly);
QTextStream in (&MyFile);
while (!in.atEnd())
{
(do something);
}
MyFile.close();
Когда я вспоминаю свою функцию, то «в то время как» цикл выглядит как в его конце, так что ни одна из функций, помещенных в нем не делается. Это способ повторной инициализации «atEnd», таким образом, я могу снова войти в цикл «while»?
Также используется «in.seek (0)», в то время как цикл по-прежнему не оценивается второй раз, если он был завершен. Функция, помещенная внутри поиска строки в текстовом файле; если строка найдена, это обнаружено и помещено в QLabel; если нет, тестовый файл считывается от начала до конца, предупреждая пользователя о том, что текст несоответствия не найден. Только в этом последнем случае новый вход в цикл while не приходит (анализ bool "in.atEnd" всегда выглядит как true (файл уже в конце) – LittleSaints
Я подозреваю, что проблема лежит за пределами минимального кода примера, который вы указали – TheDarkKnight
вы правы, потому что перед циклом было редактирование имени файла, которое изменило имя файла, поэтому во втором проходе цикла прочитанный файл не был тем же. В любом случае мне пришлось использовать «while (line.isNull ()) "вместо" while (in.atEnd) ". Проблема решена. – LittleSaints