欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VS Code:标准输入输出的文件重定向

程序员文章站 2024-03-20 14:58:52
...

VS Code:标准输入输出的文件重定向


1. 背景

  在进行C/C++编程时,有时需要向.exe中输入数据,但数据又太多或者复杂,特别是调试时需要重复输入多遍,非常麻烦。现希望.exe能够自动输入数据并保存结果。

2. 测试文件

  现VS Code目录有3个文件,分别是:input、main.cpp 、output。main.cpp需要从input中读取数据,计算两个输入值之和,并将结果保存到output中。
input内容:

1 2

main.cpp代码:

#include <iostream>
using namespace std;

//计算两个输入值的和
int main()
{
    int x, y;
    cin >> x >> y;
    cout << x << " + " << y << " = " << x + y << endl;
    return 0;
}

3. 文件重定向

  大多数操作系统都支持文件重定向,它能将标准输入和标准输出与命名文件相关联。
文件重定向的命令一般如下:

***.exe <infile >outfile

cmd命令解析:

// 跳转到main.cpp所在文件夹
cd C:\Users\wyh\Desktop\2  
// 编译main.cpp,生成main.exe
g++ main.cpp -o main.exe
// 文件重定向
main.exe <infile >outfile
// 输出outfile
type outfile

cmd命令重定向结果:
VS Code:标准输入输出的文件重定向

  VS Code终端实际上是使用Windows PowerShell。PowerShell支持“>”,不支持“<”。故需要通过“Get-Content”获取输入文件的内容。

Windows PowerShell:
VS Code:标准输入输出的文件重定向
Windows PowerShell使用“<”报错:
VS Code:标准输入输出的文件重定向

PowerShell重定向命令:

Get-Content infile | ./***.exe >outfile

PowerShell重定向结果:
VS Code:标准输入输出的文件重定向

4. 总结

  1. 文件重定向可以自动读取数据,保存结果。

5. 参考资料

  1. 如何在WindowsPowerShell中重定向标准输入\输出?
相关标签: 编程小结