首页 > 解决方案 > 在 Windows 上使用 C++ 运行 bash 脚本

问题描述

我正在尝试用 C++ 编写一个程序,该程序可以在 Windows 上执行 bash 脚本,然后读取 bash 脚本的输出并将其存储到字符串或类似的东西中。这甚至可以在 Windows 上不安装任何额外软件的情况下实现吗?如果是这样,怎么做?

此外,如果我在 Linux 上使用 Posix 库编写程序,然后在 Linux 中为 Windows 交叉编译 C++ 程序,然后将其移至需要执行 bash 脚本的 Windows,它会起作用吗?

标签: c++linuxwindowsbashpowershell

解决方案


您可以使用 popen 功能。

FILE *fp;
fp = popen("bash script.sh", "r");

现在您可以像读取文件一样读取输出。例子:

char output[100];
fgets(output, sizeof(output), fp);

推荐阅读