【发布时间】:2011-05-12 22:54:15
【问题描述】:
通常在用 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,但还将任何读取的字符输出到 cout,因此我可以在读取流时看到它。
我可以继续尝试创建 std::istream 和 std::ostream 的子类来执行此操作,但对于可能有用也可能没有用的调试工具来说,这似乎可能需要大量工程。因此,我被提示问:
您如何通过文件监控解析器的进度?我有兴趣听到任何似乎比上述更易于实施的解决方案。
【问题讨论】:
标签: c++ debugging parsing stream iostream