linux c++的输出

在 c++ 的标准库中,默认定义了4个IO对象,其中 cin 为 istream 类型,cout/ cerr/ clog 为 ostream。而在linux中存在3种文件描述符,分别为 0对应cin,1对应cout,2对应cerr和clog。这两个系统的关系。

实现,我们编写一个c++代码:

// main.cpp
#include <iostream>
using namespace std;
int main(){
    cout << "This is cout" << endl;
    cerr << "This is cerr" << endl;
    clog << "This is clog" << endl;
    return 0;
}

编译后生成 a.out 文件。

  • 将cout重定向到test.txt文件中

执行如下命令:

$ ./a.out > test.txt
This is cerr
This is clog
$ cat test.txt
This is cout

可以看出使用 > 只是将 cout 的输出重定向到指定文件,其效果类似于 1>

$ ./a.out 1> test.txt
This is cerr
This is clog
$ cat test.txt
This is cout
  • 将cerr和clog重定向到test.txt文件中
$ ./a.out 2> test.txt
This is cout
$ Mon06 cat test.txt
This is cerr
This is clog
  • 将cout输出到test.txt文件中,并将cerr/clog重定向到cout
$ ./a.out 1> test.txt 2>&1
$ cat test.txt 
This is cout
This is cerr
This is clog
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 浅谈C++常用输入输出 在编写C++程序的时候,经常因为输入输出头疼,所以在这里做一个小结,记录一下常用的输入输出...
    MinoyJet阅读 3,778评论 0 6
  • C/C++输入输出流总结 前两天写C++实习作业,突然发现I/O是那么的陌生,打了好长时间的文件都没有打开,今天终...
    LuckTime阅读 1,754评论 0 6
  • c++的输入输出不是建立在语言上的,而是由iostream和fstream文件中定义的一组模板类实现的,且这个类库...
    Tianql阅读 3,369评论 0 1
  • 1. I/O流的概念和流类库的结构 程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给...
    木鱼_cc阅读 611评论 0 0
  • 天使已消亡 我化身 恶魔的翅膀 在天空翱翔 带你穿越天堂 停在火中 修炼地狱的模样 黏腻浓稠 寒冰为体 似焰嚣张 ...
    光之予阅读 313评论 0 3