#include <stdlib.h>
int main (void)
{
int ret;
ret = system("error: command not found");
return ret;
}
看一下 system 是怎麼寫的,就可以知道為什麼 ret 不一定是你想要的答案了。
這是正確的做法:
#define _GNU_SOURCE
#include <stdlib.h>
int main (void)
{
int ret;
ret = system("error: command not found");
if (WIFEXITED(ret))
return WEXITSTATUS(ret);
else
return -1;
}
// 以上不是我寫的,是公司裡的 eric 學長教的,看 code 才是基本功。
沒有留言:
張貼留言