gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 16:34:41 26 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 节中,Linux 系统上的 man 2 wait)列出了可用于检查状态的各种宏,最有趣的是 WIFEXITED WEXITSTATUS

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

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

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