@Nicky23

Почему не читает файл заново?

Добрый день. Такая проблема: функция открывает файл, создаёт поток, считывает из него строку и возвращает. Данные записываются в TreeWidget. И так до конца. Затем файл закрывается.
Создал кнопку в приложении, которая во первых: очищает TreeWidget (проверял, все корректно работает), а во вторых вызывает ту самую функцию выше.
Когда приложение запущено, все нормально считывается и записывается в TreeWidget. Затем я открываю файл, в котором лежат данные, меняю пару строк, сохраняю и закрываю. Нажимаю кнопку и ничего не происходит. Когда запускаю приложение заново, все изменения становятся заметны. Помогите пожалуйста. Вот код:
Функция:
if(!m_stream.atEnd())
    {
        m_stream.setCodec("utf-8");
        QString line = m_stream.readLine();

        return line;
    }
    return "";

m_stream создаётся в другой функции, там же привязывается к файлу.
Как я уже говорил выше, после завершения работы этой функции, файл я закрываю.
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
IGHOR
@IGHOR Куратор тега Qt
Qt/C++ DEV/CTO
stream будет читать файл с начала только если его пере-открыть, либо вызвать seek(0);
PS: Держать открытым файл - плохая практика.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы