我的代码中有一个奇怪的段错误。它在最后的if语句中。任何人都知道为什么我会遇到段错误?
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);
}
}
}
答案 0 :(得分:3)
最简单的可能性是Exec_c
不是有效的字符串。