c++ - stdout 除了控制台窗口之外还有其他东西吗?

标签 c++ c stdout cout

来自 http://www.cplusplus.com/reference/iostream/cout/ :

By default, most systems have their standard output set to the console, where text messages are shown, although this can generally be redirected.

我从来没有听说过一个系统的 stdout 不是控制台窗口,默认情况下或其他情况下。我可以看到在打印操作成本高昂的系统中重定向它可能有何好处,但这在现代计算机中不应该成为问题,对吗?

最佳答案

当然可以。我可能想将标准输出重定向到一个文本文件、另一个进程、一个套接字等等。

默认情况下它是控制台,但是重定向它的原因有很多,最有用的(与 Unix 哲学一致)是将一个程序的输出重定向到另一个程序的输入。这允许人们创建许多小的、轻量级的程序,这些程序可以相互输入并作为更大系统的独立部分工作。

基本上,它只是一种简单而强大的数据共享机制。由于我上面提到的原因,它在 *nix 系统上更受欢迎,但它也适用于 Windows。

关于c++ - stdout 除了控制台窗口之外还有其他东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6447947/

相关文章:

c++ - 在 C++ 中接收地址为 255.255.255.255 的广播数据包

c++ - 与 fmod() 结果比较返回 false

c++ - 为什么字符串常量存储在 dll 的 .text 部分中?

c - 如何在用 C 编写的 GLUT 程序上设置关闭操作? (如左上角红色按钮工作)

c - 如何在 Ubuntu 中使用 "execute"Makefile 来运行从 stdin 读取并输出到 stdout/stderr 的 C 程序

c++ - 观察者模式——竞争条件

c++ - 如何将 xor 加密从使用 std::string 转换为仅使用 char 或 char *?

java - 使用另一个C/Java程序从给定的C++/Java程序中提取信息

python - 如何在 Python 中禁用 socketserver 的输出?

perl - 如何在 Perl 中捕获输出和退出代码时执行外部脚本?