这里面最大的一个错误是:while((strlen(fgets(str,100,fpr)))>0); 这里应该用if而不是while,因为括号里的条件在上面文件都成功打开了之后是恒为正值的,如果用while的话,这个循环是死循环,因此GCC会提示:“Segmentation fault”。改为if之后成功实现你要的功能。