c - 从 C 程序中执行程序

标签 c linux

我应该如何从我的 C 程序中运行另一个程序?我需要能够将数据写入已启动程序的 STDIN(并且可能从它的 STDOUT 中读取)

我不确定这是否是标准的 C 函数。我需要可以在 Linux 下运行的解决方案。

最佳答案

您想使用popen。它为您提供了一个单向管道,您可以通过它访问程序的标准输入和标准输出。

popen 是现代 unix 和类 unix 操作系统的标准,Linux 就是其中之一:-)

类型

man popen

在终端中阅读更多相关信息。

编辑

popen 是否产生单向或双向管道取决于实现。在 LinuxOpenBSD , popen 产生单向管道,它是只读的或只写的。在 OS X , FreeBSDNetBSD popen 生成双向管道。

关于c - 从 C 程序中执行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70842/

相关文章:

linux - 将 laravel 项目部署到服务器?

c - 使用 enif_resource_alloc 正确释放内存

c - 关于动态分配字符串的一个小问题,我该如何解决?

linux - Rsync 与 .dd.xz 文件

linux 上的 java - 必须按两次 CtrlD

c++ - mbstowcs 在 Red Hat Linux 上返回 -1,但在 Solaris 上不返回

c++ - vscode "No refactoring available"c++,(带 arduino 扩展)

c - 将数字作为字符串相乘(损坏的大小与 prev_size)

c - 稀疏多维数据表示

c - 子表达式的求值顺序