cout不产生输出

时间:2013-03-23 15:56:26

标签: c++ oop io

所以我在一个对象的方法中,但是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也没有效果。

2 个答案:

答案 0 :(得分:1)

您应该使用std::cout(C ++流)或C风格的流。混合它们可能会产生不确定的行为。

例如,他们可以有单独的“缓冲”频道。

答案 1 :(得分:0)

代码片段在我的系统上正常运行,您的问题可能来自您此处未列出的代码的其他部分。 尝试在方法开头fflush(stdout),看看它是否有效。