2010-11-20 1 views
1

Часто при написании файловых писателей или парсеров в C++ я хотел бы отслеживать прогресс писателя/парсера через файл по мере его записи/чтения. С этой целью, я думал о реализации что-то вроде:Как отслеживать потоки в C++

ostream_monitor my_monitor(&my_output_stream, &cout); 
my_monitor << my_variable; 

Это будет иметь эффект вывода my_variable на my_output_stream, а также COUT, так что я могу видеть это.

Кроме того, было бы неплохо иметь версию ввода одного и того же:

istream_monitor my_monitor(&my_input_stream, &cout); 
my_monitor >> my_variable; 

Это будет читать следующую лексему прочь my_input_stream, и использовать его для установки my_variable, но и выходные символы чтения to cout, поэтому я вижу поток, когда он читается.

Я мог бы пойти и попытаться сделать подклассы std :: istream и std :: ostream, которые делают это, но, похоже, потенциально много инженерных инструментов для отладки, которые могут быть полезными или не могут быть полезными. Поэтому мне предлагается спросить:

Что вы делаете, чтобы следить за ходом анализатора через файл? Мне интересно услышать любые решения, которые кажутся более простыми для реализации, чем предыдущие.

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^