c语言文件读写遇到的问题

#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,所以文件指针没有变化,自然就一直循环了。
}

不知道题主的写这个程序的目的是什么,文件指针没有变化,自然是死循环啊。