当命令访问不存在的文件时来自 popen 的错误状态
error status from popen when the command accesses a non existent file
考虑以下两行代码
sprintf(comm, "cat %s.bz2 | bunzip2 -dc", string);
fp = popen(comm, "r");
如果我正在打开一个文件但该文件不存在,我只会得到一个 NULL 文件。但是,如果我使用 popen
通过 bunzip2
传输文件,如果基础文件不存在或已损坏,则 fp
将具有有效指针而不是 NULL。显而易见的检查方法似乎是通过 popen
检查命令 运行 的退出状态,但这似乎不可能。
如果命令失败,是否有简单的方法使 popen
return 为空?
考虑以下两行代码
sprintf(comm, "cat %s.bz2 | bunzip2 -dc", string);
fp = popen(comm, "r");
如果我正在打开一个文件但该文件不存在,我只会得到一个 NULL 文件。但是,如果我使用 popen
通过 bunzip2
传输文件,如果基础文件不存在或已损坏,则 fp
将具有有效指针而不是 NULL。显而易见的检查方法似乎是通过 popen
检查命令 运行 的退出状态,但这似乎不可能。
如果命令失败,是否有简单的方法使 popen
return 为空?