【发布时间】:2015-04-21 21:44:31
【问题描述】:
该程序运行良好。它验证参数是文件还是目录并返回 1 或 2。但是,strcmp 不起作用,我不知道为什么。
这是我的代码:
#DEFINE N 100
int main(int argc,char* argv[]) {
FILE *fp;
char cmd[N];
char result[N];
int i;
for(i=1;i<argc;i++){
pipe(c2p);
if (fork()==0){
//Running the shell script
sprintf(cmd,"/home/flory/os/verif.sh %s", argv[i]);
fp = popen(cmd, "r");
fgets(result, N, fp);
pclose(fp);
printf("%s",result);
if (strcmp(result,"1")==0){
//DO SOMETHING
}
}
【问题讨论】:
-
请将您的准确代码复制并粘贴到问题中。
#DEFINE是语法错误;拼写为#define。 -
pipe(c2p);什么是 c2p ?为什么会泄漏? -
对不起,我忘了删除那部分