fgets在循环中使用出错?!
是的,我今天在做程序时,就遭遇了这个问题,严格上来说,这是一个与指针有关的问题。先看看下述代码段:
#define LINE_LENGTH 100
void import_file(char* file_path)
{
int sum = 0;
FILE *fp_r; FILE *fp_w; char *line;//[LINE_LENGTH]; int
i=0;
char ch;
if((fp_r=fopen(file_path,"r"))==NULL) { printf("can not open
file!\n"); return; //
exit(0); }
if((fp_w=fopen("result.txt","w"))==NULL) { printf("error:can not find
result.txt!\n"); return; //
exit(0); }
while(!feof(fp_r)) {
if(fgets(line,LINE_LENGTH,fp_r)!=NULL); //count(line);
fprintf(fp_w,"%s\n",line);
}
fclose(fp_r); fclose(fp_w); printf("write file
ok!\n"); }
//或许你会觉得这样写不会出错,当然,我也是这样认为的。可是