美文网首页
linux c++的输出

linux c++的输出

作者: FoolishFlyFox | 来源:发表于2019-06-03 16:45 被阅读0次

    在 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
    

    相关文章

      网友评论

          本文标题:linux c++的输出

          本文链接:https://www.haomeiwen.com/subject/yhacxctx.html