有一个cpp应用程序,我想读取以下类型的压缩文件 -
为此,我检查文件扩展名并相应地选择解压缩技术。例如。 file_name.gz将使用" gunzip -C file_name.gz"解压缩。
我想获取解压缩文件的FILE句柄。我使用popen()API。现在,可能存在由于内存问题而解压缩文件时gunzip / uncompress / tar失败的情况。如何在CPP应用程序中捕获故障。有办法检查popen是否失败。如何将命令传递给popen()。
请帮忙。我试图在各个地方找到它,但无法得到满意的解决方案。
答案 0 :(得分:1)
当进程正常终止时,应该将退出代码0(合法地,EXIT_SUCCESS
)返回给父进程。否则,在发生崩溃或任何其他异常终止的情况下,预计将返回非零值。您可以致电pclose()
获取退出代码。如果代码为0,则子进程很可能成功终止。