在unix/Linux环境中,我尝试将cpp文件的执行结果输出到文本文件而不是控制台。所以我已经编译了我的cpp文件如下:
hgtggwj01#
开始,您应该区分 * 编译 * 和 * 运行 *。所以我已经编译了我的cpp文件如下:
main.cpp
main
[command] >[filename]
./main >test.txt
g++ main.cpp > test.txt
g++
test.txt
./main >test.txt 2>&1
1条答案
按热度按时间hgtggwj01#
开始,您应该区分 * 编译 * 和 * 运行 *。
所以我已经编译了我的cpp文件如下:
1../main
第一步是将 * 源文件 *
main.cpp
编译成名为main
的 * 可执行文件 *。第二步不是执行编译工作,而是实际运行可执行文件main
。然后,要将命令的运行结果输出到文件中,您将执行
[command] >[filename]
(例如./main >test.txt
)。本质上,这将命名文件与程序的 * 标准输出 * 相关联。g++ main.cpp > test.txt
会将运行g++
的标准输出写入test.txt
,因此您什么也得不到。相反,您应该执行./main >test.txt
。程序经常输出错误信息到 * 标准错误 * 流,为了捕获这些,你可以做
./main >test.txt 2>&1
。