所以我在一个对象的方法中,但是cout语句根本不产生输出。
#include <iostream>
#include <stdio.h>
Object::Method()
{
printf("why is the next line not printing? This one prints fine\n");
std::cout << "This line should print second, but doesnt" << std::endl;
printf("but this line prints fine like the first!\n");
}
输出是:
为什么下一行不打印?这个打印很好
但这行打印得和第一行一样好!
我似乎无法弄清楚为什么它不会打印。 std::flush
也没有效果。
答案 0 :(得分:1)
您应该使用std::cout
(C ++流)或C风格的流。混合它们可能会产生不确定的行为。
例如,他们可以有单独的“缓冲”频道。
答案 1 :(得分:0)
代码片段在我的系统上正常运行,您的问题可能来自您此处未列出的代码的其他部分。
尝试在方法开头fflush(stdout)
,看看它是否有效。