【发布时间】:2012-08-17 03:16:11
【问题描述】:
我需要在 main() 执行结束时检查发送到标准输出的最后一个字符(通过std::cout)是否为'\n'(或特定于平台的行尾)。如何对此进行测试?可以安全地假设没有使用 C 风格的 io(如 printf)。
程序是 C++ 的 REPL。它评估 C++ 表达式(或语句)并在标准输出上打印结果。希望输出总是以单个换行符终止。
【问题讨论】:
-
为什么?你想做什么?
-
通常最好问问题而不是步骤,但
std::cin.get()应该可以工作。 -
“最后”是指“最终”还是“最近”?
-
@Lol4t0: 而
cos是“C 输出流”! -
糟糕,我误解了意图。在那种情况下,也许只是将标准输出重定向到一个字符串流并在那里操作缓冲区?