linux c++的输出

2019-06-03  本文已影响0人  FoolishFlyFox

在 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 文件。

执行如下命令:

$ ./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
$ ./a.out 2> test.txt
This is cout
$ Mon06 cat test.txt
This is cerr
This is clog
$ ./a.out 1> test.txt 2>&1
$ cat test.txt 
This is cout
This is cerr
This is clog
上一篇下一篇

猜你喜欢

热点阅读