Всем привет!
У меня есть задачка, но я не знаю, как лучше и правильнее её решить.
Может быть кто-нибудь наведёт на верные мысли.
Задача заключается в следующем:
Имеется некий файл, который содержит записи в определённом формате.
Есть необходимость последовательно вытаскивать из файла записи и
обрабатывать их в программе.
Обычно записи - просто строки определённой длины.
Я хочу инкапсулировать все операции в классе, у которого
предусмотреть метод GetRecord.
Проблема заключается в том, что хотелось бы иметь возможность
обрабатывать файлы разного формата.
Т.е. строки могут разделяться \n или символом с кодом \002.
А может быть и ситуация, что определены последовательности начала
и конца записи (rec_begin, rec_end).
Сделать это хотелось бы следующим образом:
В конструктор класса передавать имя файла и строку с регулярным
выражением, отвечающим шаблону записи.
Далее метод GetRecord будет просто последовательно получать записи
из ifstream'a и возвращать пользователю класса!
Т.е. должно получиться что-то вроде:
....
std::string reg_ex_1 = ...
std::string reg_ex_2 = ...
Source S1("file1.txt", reg_ex_1);
Source S2("file2.txt", reg_ex_2);
ProcessRecord1(S1.GetRecord());
ProcessRecord2(S2.GetRecord());
....
Вопрос: возможно ли реализовать подобное в C++
Причём данные хотелось бы читать непосредственно из ifstream, а не
наворачивать дополнительные буферы.
Программа должна работать по принципу
Пока есть записи
{
Чтение записи
Обработка записи
}
а не так:
Читаем все записи в буфер
Обрабатываем все записи
Файлы могут быть до 50Мб!

Ответ на:
комментарий
от int19h

Ответ на:
комментарий
от Krivenok_Dmitry
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Begemoth
Ответ на:
комментарий
от Flogger_d
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум grep -o (регулярное выражение) (2013)
- Форум Регулярное выражение (2019)
- Форум Регулярные выражения (2024)
- Форум Регулярные выражения (2022)
- Форум Регулярное выражение (2022)
- Форум Регулярные выражения (2018)
- Форум Регулярное выражение (2021)
- Форум регулярное выражение (2012)
- Форум Регулярные выражения. (2012)
- Форум Регулярные выражения. (2012)