这个问题已经在这里有一个答案:
- 检查shell命令的返回值在C 2个回答
我跑EXECL功能通过我的代码编译的程序。 我要检查,如果编译去正确的。 所以我写b = execl("usr/bin/gcc","cc",path,NULL);
后来查if( b==-1)
但是,即使有在编译错误它没有进入if语句。 任何想法,为什么? 谢谢!
int b=0;
if ((pid1 = fork())<0)
perror("Error forking");
else {
if(pid1==0)
b= execl("/usr/bin/gcc","cc",path,NULL);
else wait(&status);
}
if(b==-1)
printf("\n--------\n");