【发布时间】:2023-03-06 09:10:01
【问题描述】:
我正在使用 MS Visual Studio 2008 进行 C 编码。
我知道我们可以使用
"int system(const char *command)" 执行命令。
有没有其他方法可以在 C 程序中执行系统命令。 我还需要将执行命令的输出存储在一个变量中。
system()函数执行命令并将输出发送到stdout,有没有办法从stdout读取并存储在变量中。
所以我的最终目标是在 Windows 的 C 程序中执行系统命令(使用 Visual Studio)并将该命令的输出存储在一个变量中。 有什么建议吗?
【问题讨论】:
-
在标准 C 中?没有别的办法。如果您希望特定于平台的函数能够读取命令的输出,那么请对高级
_popen和低级CreateProcess函数进行一些研究。两者都是 Windows 特定的功能。 -
使用 system() 并将输出通过管道传输到临时文件中,打开并读取临时文件。
标签: c