2010-11-13 48 views
0

我在我的代码奇怪的地方有段错误。这是在最后的陈述。任何人有一个想法,为什么我得到段错误?段落错误与stderr

void processArgument(char argument[]){ 
    FILE *sketcher; 
    FILE *fp; 
    fp = fopen (argument, "r"); 
    sketcher = popen(Exec_c, "w"); 
if (fp == NULL){ 
     printf ("Could not open pipe to %s\n", argument); 
    exit (EXIT_FAILURE); 
} 
    if (sketcher == NULL){ 
     printf ("Could not open pipe to %s\n", argument); 
    exit (EXIT_FAILURE); 
    }else{ 
     parseFile(fp, sketcher); 
     if(fclose(fp)==EOF){ 
    printf("couldn't close pipe to %s.\n", argument); 
    exit(EXIT_FAILURE); 
    } 
     if (pclose(sketcher) == -1){             //if (pclose(sketcher) == -1){ 
      fprintf(stderr, "draw_line error: couldn't close pipe to %s.\n", Exec_c);//fprintf(stderr,"",E); 
      exit(EXIT_FAILURE);  
     } 
    } 
} 

回答

3

最简单的可能是Exec_c不是有效的字符串。