Eclipse C 控制台打印订单Linux
Eclipse C++ console print order linux
我知道有很多主题,但它们都没有帮助我。
我在C/C 项目std::cout
和std::cerr
中使用以打印信息(COUT)或错误(CERR)。但是,当执行它时,他们不以正确的顺序打印,他们似乎要"集体打印"。有时所有的cerr,然后所有的cout,有时所有cout首先,然后所有cerr。
我尝试每行 flush()
,不工作。(幸运的是,每次都必须使用它会很糟糕...)。也尝试了setvbuf(stdout, NULL, _IONBF, 0);
相同的问题...
如果直接在Linux的控制台中运行程序,则顺序很好,但由于颜色,Eclipse控制台更有用。
在这里代码示例
#include <iostream>
int main(int argc, char** argv)
{
std::cerr << __LINE__ << std::endl;
std::cerr << __LINE__ << std::endl;
std::cout << __LINE__ << std::endl;
std::cerr << __LINE__ << std::endl;
std::cerr << __LINE__ << std::endl;
std::cout << __LINE__ << std::endl;
}
和控制台打印
11
12
14
15
13
16
==>错误的顺序...在此示例中
好的,情况如下, std::cout
添加到缓冲区中,而 std::cerr
却没有。std::cerr
更快,不需要冲洗。std::cerr
和std::cout
也使用不同的流。
这里的问题是std::cerr
立即显示,并且在显示之前需要冲洗std:cout
。
相关文章:
- 如何循环打印顶点结构
- 在C++/Linux中设置单调时钟的一些技巧
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 在 Linux 平台上以 C/C++ 打印进程的所有线程堆栈跟踪
- 在 C Linux 中使用三个线程使用信号量同步按顺序打印 3 4 5 50 次
- 在Linux上的C++中,当在一行上打印5000个浮点数字时,换行
- 使用 C++ 将 UTF8 字符打印到 Linux 控制台
- 文件不会将输出保存到文件中,并在 Linux C++奇怪地打印出一个字符串
- 代码::块 - Linux - 打印"Hello World",即使它不在"main.cpp"文件中
- Eclipse C 控制台打印订单Linux
- Linux.未打印到文件
- Linux/CUPS Qt打印示例
- 将命令行输出打印到Linux(Ubuntu)的文本文件中
- 如何在linux上打印Qt:HANDLE?(Qt5)
- 如何在Linux (GCC)中打印输出(而不是标准输出)
- Linux打印文档到标准输出或文件
- 如何在Linux/OS X上打印字符串
- 如何打印linux上进程拥有的所有线程的线程id
- Linux/CUPS 打印示例/教程
- 如何在 Linux 和C++ 上遍历 com 端口并打印到控制台?