你咋这么牛逼呢 发表于 2016-1-2 12:45:54

文件读写问题 新手求大神帮助!!!

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
        FILE *p;
        char ch;
        if(!(p=fopen("D:\\my.txt","a+")))
        {
                printf("建立失败\n");
                exit(0);
        }
        while((ch=getchar())!='#')
        {
                fputc(ch,p);
        }
       
        while((ch=fgetc(p))!=EOF)
        {
                putchar(ch);
        }
        fclose(p);

          return(0);
}



阴影中的曙光 发表于 2016-1-2 13:13:22

手持两把锟斤拷,口中疾呼烫烫烫。
脚踏千朵屯屯屯,笑看万物锘锘锘。
小伙子,用的vc吧。文件操作不是特别熟悉,不过感觉上是你出入后文件指针在后面,你再输出指针继续后移,输出的都是你没初始化,系统自动赋值的屯屯屯。
个人猜测,仅供参考

阴影中的曙光 发表于 2016-1-2 13:18:36

读入一位后指针后移一位,所以你输入之后指针是指在你输入这串数据的后一位的,你要把指针重新指回开始才能继续输出。。

你咋这么牛逼呢 发表于 2016-1-2 14:55:00

阴影中的曙光 发表于 2016-1-2 13:18
读入一位后指针后移一位,所以你输入之后指针是指在你输入这串数据的后一位的,你要把指针重新指回开始才能 ...

知道了!非常感谢!!!

黑龍 发表于 2016-1-2 15:10:00

阴影中的曙光 发表于 2016-1-2 13:13
手持两把锟斤拷,口中疾呼烫烫烫。
脚踏千朵屯屯屯,笑看万物锘锘锘。
小伙子,用的vc吧。文件操作不是特 ...

我的是烫烫烫

黑龍 发表于 2016-1-2 15:10:59

直接fread不就可以了?

阴影中的曙光 发表于 2016-1-2 15:40:18

黑龍 发表于 2016-1-2 15:10
直接fread不就可以了?

文件操作,一塌糊涂

黑龍 发表于 2016-1-2 15:48:21

阴影中的曙光 发表于 2016-1-2 15:40
文件操作,一塌糊涂

谁啊?

阴影中的曙光 发表于 2016-1-2 19:33:43

黑龍 发表于 2016-1-2 15:48
谁啊?

我自己啊= =

人造人 发表于 2016-1-2 21:23:46

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
        FILE *p;
        char ch;
        if (!(p = fopen("D:\\my.txt", "a+")))
        {
                printf("建立失败\n");
                exit(0);
        }
        while ((ch = getchar()) != '#')
        {
                fputc(ch, p);
        }

        /*while ((ch = fgetc(p)) != EOF) //我不清楚你为什么要在文件里找EOF,注释掉这些就可以了
        {
                putchar(ch);
        }*/
        fclose(p);

        return(0);
}
页: [1]
查看完整版本: 文件读写问题 新手求大神帮助!!!