1

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

4

2 回答 2

1

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

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

于 2013-03-23T17:57:27.663 回答
0

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

于 2013-03-23T16:05:43.967 回答