ptmax
2017-09-23 09:04
采纳率: 42.9%
浏览 1.2k
已采纳

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,我在另一个程序也遇到这个问题,需要尽快解决,谢谢各位

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • wfy1008 2017-09-23 12:06
    已采纳

    #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;
    }

    改好了,每次读一个字符,然后打印

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • threenewbee 2017-09-23 09:14

    while(!feof(fp2))
    {
    printf("1");
    这个里面没有fread,所以文件指针没有变化,自然就一直循环了。
    }

    评论
    解决 无用
    打赏 举报
  • 白首少年 2017-09-23 09:29

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题