Russian Qt Forum
Ноябрь 26, 2024, 16:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Построчное чтение из файла  (Прочитано 14557 раз)
Johnik
Крякер
****
Offline Offline

Сообщений: 339


Просмотр профиля
« Ответ #15 : Март 09, 2014, 12:17 »

А сам учитель может исправить или так, только задания дает?  Улыбающийся
может, а на форуме принято выдавать полностью рабочий и отлаженный код спрашивающему, или давать направление для дальнейшего поиска?


Вообще при данных условиях, я не стал бы использовать для чтения строк класс QTextStream, действительно сложно будет избежать возможных разбиений одной строки.
При каждом изменении файла следует читать в какой-то буфер. А уже буфер проверять на предмет наличия символов завершения строки (или других необходимых), и при его наличии, осуществлять разбор буфера, получать координаты и испускать ("эмитить") сигнал с координатами.
« Последнее редактирование: Март 09, 2014, 12:24 от Johnik » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #16 : Март 10, 2014, 08:39 »

Вообще при данных условиях, я не стал бы использовать для чтения строк класс QTextStream, действительно сложно будет избежать возможных разбиений одной строки.
При каждом изменении файла следует читать в какой-то буфер. А уже буфер проверять на предмет наличия символов завершения строки (или других необходимых), и при его наличии, осуществлять разбор буфера, получать координаты и испускать ("эмитить") сигнал с координатами.
Может так: запоминаем позицию файла (напр в члене класса). При каждом обновлении читаем файл в буфер "от позиции до конца" и обновляем позицию. Считываем из буфера "полные" строки и отдаем юзверю, затем очищаем буфер но сохраняем в нем последнюю (неполную) строку. 

Все-таки здесь одна пакость: последняя строка может и не заканчиваться EOL
Записан
Johnik
Крякер
****
Offline Offline

Сообщений: 339


Просмотр профиля
« Ответ #17 : Март 10, 2014, 08:43 »

Позицию запоминать не надо, этим занимается QFile, проверено, в остальном: да
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #18 : Март 10, 2014, 08:56 »

Позицию запоминать не надо, этим занимается QFile, проверено,
Это если хотим держать его открытым
Записан
Johnik
Крякер
****
Offline Offline

Сообщений: 339


Просмотр профиля
« Ответ #19 : Март 10, 2014, 09:07 »

А зачем каждый раз открывать, закрывать? один раз открыть для чтения, тем более писать в него можно будет в этот момент без проблем.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 24.