【发布时间】:2019-11-09 23:48:37
【问题描述】:
如果有一系列FILE指针指向FILE data("object")。我想创建一个subprocess 并将这个subprocess's stdin stdout and stderr 设置为这些文件指针。我能做什么?
如果没有这样的功能,我可以创建一个,但我不知道如何。
如果有必要,也允许访问 FILE 的成员。
C 标准库提供了一些头文件,例如 m ,但它们只支持带有文件描述符的 IO-redirect。
我唯一拥有的是非空文件指针。
我希望这个函数与 Python 中的 subprocess.run 几乎完全相同。
int subprocess_run(char *filename, char **args, FILE *std_in, FILE *std_out, FILE *stderr);
【问题讨论】:
-
有
popen(),但它只提供标准输入或输出,而不是两者。 -
@Shawn,我知道这一点,但它是通过 shell 完成的,出于安全原因,我想通过禁用 shell 来实现。
标签: c file io subprocess stdio