首页 > 解决方案 > 如何解决 g++ 下的输出问题?

问题描述

在 Linux 中,我有一行有效:

printf ("Semaphore: %d\n", sem_id);

但是当我写:

std::cout << "Semaphore: " << sem_id;

它不起作用。为什么?

标签: c++

解决方案


请注意,第一行是 in C,而第二行是C++

您可能需要一个行尾标记,例如您在第一个 ( std::endl ) 中使用的那个。

std::cout << "Semaphore: " << sem_id << std::endl;

默认情况下,输出是行缓冲的。但是,在每种情况下,它都应该在您的程序终止时出现。


推荐阅读