为什么无法在屏幕上显示?

#include
#include
#define M 80
int main()
{
FILE *fp;
char str[M];
printf("输入字符串:\n");
gets(str);
if((fp=fopen("fiel2.txt","w"))==NULL)
{
printf("\n不能打开fiel2.txt,按任何键退出程序!\n");
getchar();
exit(1);
}
fputs(str,fp);
fclose(fp);
if((fp=fopen("fiel2.txt","r"))==NULL)
{
printf("\n不能打开fiel2.txt,按任何键退出程序!\n");
getchar();
exit(1);
}
fgets(str,M,fp);
while(!feof(fp))
{
printf("%s",str);
fgets(str,M,fp);
}
fclose(fp);
return 0;
}

    fgets(str,M,fp);
    do
    {
        printf("%s",str);
        fgets(str,M,fp);
    }while(!feof(fp));