0

我正在从 ac 程序调用 shell 脚本。我希望这个脚本返回多个我想存储在我的 c 程序结构中的值。例如说'ac'调用'a.sh',我希望'a.sh'返回要存储在变量'x'和'y'中的值,它们是'ac'中结构's'的一部分。

4

2 回答 2

2

除了进程具有的退出状态的单个整数(通常限制为 8 位)之外,您不能从 shell 脚本“返回”值(假设现在是类 Unix 系统)。

您通常所做的是解释外部程序的标准输出,您可以通过popen()运行 shell 脚本轻松地将其读入您的 C 程序。

您可以使用这种方法传输任意数量的数据。

于 2013-08-20T09:40:23.337 回答
1

不是最优雅的解决方案(但非常快速且易于实现),但您始终可以从 shell 脚本生成输出文件,然后从 C 程序解析该文件。这样做的好处是您可以在 C 程序的执行之间存储 shell 脚本的输出值,如果这些输出值不是每次都改变,这很有用。

于 2013-08-20T10:18:30.660 回答