我的代码中有一个奇怪的地方有一个段错误。它在最后一条if语句中。有没有人知道我为什么会有segfault?
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);
}
}
} 发布于 2010-11-14 03:26:30
最简单的可能性是Exec_c不是有效的字符串。
https://stackoverflow.com/questions/4174246
复制相似问题