【发布时间】:2019-04-28 08:01:59
【问题描述】:
阅读函数popen。
在标头stdio.h(标准标头)中,
它返回FILE*(标准IO结构,不像来自unistd.h的Unix函数),
但我在任何 C 标准参考网站上都找不到它。
那么它是标准的,还是某种 GCC 扩展?这是什么?
【问题讨论】:
-
这是一个POSIX标准函数,而不是一个C标准函数。
-
那为什么它在 stdio.h 而不是 unistd.h 什么的?
-
popen()列在<stdio .h>中,因为它返回FILE *并且该类型在该标头中定义,而不是<unistd.h>。 POSIX 增加了许多标准 C 头文件。在<studio.h>中还有fdopen()、dprintf()和(当然)pclose(),我怀疑这个列表是否详尽。
标签: c unix process c-standard-library