您的位置:首页 > 其它

DOS命令行下如何把标准错误和标准输出重定向到同一个文件

2013-01-04 01:00 381 查看
http://hi.baidu.com/nullspace/item/50e2c35c0fbb5813aaf6d7d6

这样可以重定向标准出错

a.exe 2>out.txt

但这样就报告:另一个程序正在使用此文件,进程无法访问。

a.exe >out.txt 2>out.txt

这样可以重定向标准出错

a.exe 1>out.txt 2>&1



a.exe >out.txt 2>&1

注意2>&1要放在后面

或者

a.exe 1>out.txt 2<&1

测试程序:

#include <iostream>

using namespace std;

int main()

{

cout << "this is out\n";

cerr << "this is err\n";

//fprintf(stdout, "this is out\n");

//fprintf(stderr, "this is err\n");

return 0;

}

cout cerr和fprintf的区别:

重定向时fprintf保持顺序,便cout cerr顺序反了

直接输出到屏幕结果是

this is out

this is err

用cout/cerr,重定向后变成了

this is err

this is out

用fprintf正常
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐