gpt4 book ai didi

c - 如何使用参数在 Linux 中的 C 代码中执行外部程序?

转载 作者:IT老高 更新时间:2023-10-28 12:36:06 24 4
gpt4 key购买 nike

我想在 C 代码中执行另一个程序。比如我要执行一个命令

./foo 1 2 3

foo 是存在于同一文件夹中的程序,1 2 3 是参数。foo 程序创建了一个将在我的代码中使用的文件。

我该怎么做?

最佳答案

为了一个简单的方法,使用 system():

#include <stdlib.h>
...
int status = system("./foo 1 2 3");

system() 将等待 foo 完成执行,然后返回一个状态变量,您可以使用它来检查例如exitcode(命令的 exitcode 乘以 256,因此将 system() 的返回值除以得到实际的 exitcode:int exitcode = status/256)。

The manpage for wait() (在第 2 节,man 2 wait 在您的 Linux 系统上)列出了您可以用来检查状态的各种宏,最有趣的是 WIFEXITED WEXITSTATUS.

或者,如果你需要读取 foo 的标准输出,使用 popen(3),它返回一个文件指针 (FILE *);与命令的标准输入/输出交互与读取或写入文件相同。

关于c - 如何使用参数在 Linux 中的 C 代码中执行外部程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5237482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com