c++ - 在 Windows 上使用 C++ 运行 bash 脚本
问题描述
我正在尝试用 C++ 编写一个程序,该程序可以在 Windows 上执行 bash 脚本,然后读取 bash 脚本的输出并将其存储到字符串或类似的东西中。这甚至可以在 Windows 上不安装任何额外软件的情况下实现吗?如果是这样,怎么做?
此外,如果我在 Linux 上使用 Posix 库编写程序,然后在 Linux 中为 Windows 交叉编译 C++ 程序,然后将其移至需要执行 bash 脚本的 Windows,它会起作用吗?
解决方案
您可以使用 popen 功能。
FILE *fp;
fp = popen("bash script.sh", "r");
现在您可以像读取文件一样读取输出。例子:
char output[100];
fgets(output, sizeof(output), fp);
推荐阅读
- java - 如何在一帧中获取用户输入并将其添加到数组列表以在另一帧上显示
- dart - json.decode 在 json 中的嵌套双引号上引发 FormatException - 飞镖
- python - 规范化数据集中的 unicode
- python - 如何使用 SQLAlchemy 在 Postgres 中执行 date_trunc 查询
- java - 如何降低以下代码的时间复杂度?
- android - 将数据添加到 TableLayout 的新列中的现有行 - Kotlin
- elasticsearch - 模糊匹配失败但精确匹配通过
- node.js - 如何使用 node.js 8.10 创建一个 Alexa 技能,从我自己的数据库中给出答案
- python - 用 pandas 实现 count、groupby、np.repeat 和 agg 的问题
- java - Apache Commons Net FTPClient 默认使用被动模式还是主动模式?