带 NULL 参数的 pclose

pclose with NULL parameter

我应该选择哪一个:

1.如果 popen 已经失败,则不应尝试 pclose,即使它可以容忍处理 NULL 句柄。

2.Passing popen returns 到 pclose,就像可以将 malloc returns 传递到 free ].

仔细阅读手册后(即:man pclose),我找不到任何证据表明pclose可以处理NULL参数。

由于文档不要求 pclose 优雅地处理 NULL 参数,因此您不能依赖它。现在,可能是特定的 libc 实现提供了这种保证,但是,如果你想保持可移植性,你应该只依赖有保证的行为。