Re[7]: Проблемы со считыванием структуры из файла
От: Кодт Россия  
Дата: 18.01.08 13:09
Оценка:
Здравствуйте, falcon8, Вы писали:

F>и как это применить если файл содержит

F>несколько строк(человеческих) ~150000 фиксированной длинннны
F>причём строки типа 1 может следовать только за строкой 0 ну и т.д.

F>Я сейчас тупо считываю построчно switch по типу,делаю класс и создаю коллекцию

F>из которой потом выбираю данные по строкам типа 0 и распечатываю в заказанном виде
F>всё работает
F>но как-то хочется поинтересней вот и захотел через структуры что нить оптимизировать

Не очень я понял, в чём состоит задача.
Верно ли то, что у тебя есть полиморфная коллекция (с разнотипными элементами — тип выбирается при считывании очередной строки),
и ты фильтруешь эту коллекцию, распечатывая только заданный тип?

Мне кажется, что считывать весь файл целиком — только ради этой задачи — смысла нет.
Прочитал очередную строку, проанализировал, при желании распечатал. Перешёл к следующей строке файла.
Максимум что потребуется, это машина состояний (конечный автомат).
Никакой коллекции и практически никакого полиморфизма.

Здесь есть аналогия с SAX- и DOM-парсерами. Зачем делать DOM, если SAX-а достаточно.

Ну а что касается структур... Конечно, считывать запись фиксированной ширины прямо в POD-структуру удобнее, чем каждое поле по отдельности, либо в символьный буфер с последующим его расковыриванием.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.