You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unix/Linux环境下如何将C++程序运行结果输出到文本文件

如何将C++程序的运行结果重定向到文本文件

你之前的操作错在重定向了编译命令的输出,而非程序运行的输出。g++ main.cpp > test.txt 只会把编译过程中的警告、错误信息写入test.txt,和程序运行结果完全无关。

正确的做法分两种:

方法一:运行程序时重定向输出

这是最常用的方式,不需要修改代码:

  1. 正常编译代码:g++ main.cpp -o main
  2. 运行程序时用重定向符号将输出写入文件:
    • 仅捕获标准输出(cout的内容):./main > test.txt
    • 同时捕获标准输出和标准错误(cerr的内容):./main > test.txt 2>&1 或者更简洁的./main &> test.txt
    • 如果想追加内容到文件而非覆盖,用>>代替>:./main >> test.txt

方法二:在代码中直接指定输出文件

如果允许修改源代码,可以直接让程序把内容写入文件:

#include <iostream>
#include <fstream>

int main() {
    // 打开要写入的文件
    std::ofstream output_file("test.txt");
    if (!output_file.is_open()) {
        std::cerr << "无法打开文件" << std::endl;
        return 1;
    }
    // 把原本输出到控制台的内容写入文件
    output_file << "这里是程序的运行结果" << std::endl;
    output_file << "多行内容也可以正常写入" << std::endl;
    // 关闭文件
    output_file.close();
    return 0;
}

编译运行后,test.txt就会包含程序的输出内容。

内容的提问来源于stack exchange,提问作者user20805553

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 06:08:12