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

如何在VS2022 C++中将控制台输出保存至TXT文件?

如何将C++程序的控制台输出保存到.txt文件?

这里有几种简单的实现方式,覆盖不同场景:

1. 命令行重定向(无需修改代码)

这是最快捷的方式,不用改动任何代码,直接在运行程序时通过命令行参数重定向输出:

ConsoleApplication1.exe > output.txt 2>&1
  • > 表示把程序的标准输出(比如dir的结果)写入到output.txt,如果文件已存在会覆盖
  • 2>&1 表示把标准错误输出(比如程序退出信息、调试提示)也重定向到同一个文件,这样所有控制台显示的内容都会被保存

2. 修改代码重定向输出(永久生效)

如果希望程序本身运行时就自动把输出保存到文件,可以在代码里用freopen重定向标准输出和错误流:

#include <cstdio>

int main()
{
    // 重定向标准输出到output.txt(写入模式)
    freopen("output.txt", "w", stdout);
    // 重定向标准错误到output.txt(追加模式,避免覆盖之前的内容)
    freopen("output.txt", "a", stderr);

    system("dir");
    return 1;
}

编译运行后,所有原本会显示在控制台的内容(包括dir的结果、程序退出信息)都会被写入到output.txt中。

3. 单独重定向system命令的输出(仅捕获该命令结果)

如果只需要捕获system("dir")的输出,可以直接在命令里加重定向:

int main()
{
    system("dir > output.txt");
    return 1;
}

但这种方式只能保存dir命令的结果,程序本身的退出信息(比如exited with code 1这类提示)不会被写入文件,适合只需要捕获外部命令输出的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 01:55:12