#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;FILE *fp2;
fp=fopen(".//file.txt","w");
fprintf(fp,"???????????????");
fclose(fp);
fp2=fopen(".//file.txt","r");
printf("0");
while(!feof(fp2))
{
printf("1");
}
fclose(fp2);
return 0;
}
该程序一运行就一直输出1,我在另一个程序也遇到这个问题,需要尽快解决,谢谢各位
#include
#include
int main()
{
char ch;
FILE *fp;FILE *fp2;
fp=fopen(".//file.txt","w");
fprintf(fp,"???????????????");
fclose(fp);
fp2=fopen(".//file.txt","r");
printf("0");
while(!feof(fp2))
{
fread(&ch,1,1,fp2);
printf("%c",ch);
}
fclose(fp2);
return 0;
}
改好了,每次读一个字符,然后打印
while(!feof(fp2))
{
printf("1");
这个里面没有fread,所以文件指针没有变化,自然就一直循环了。
}
不知道题主的写这个程序的目的是什么,文件指针没有变化,自然是死循环啊。