文件读写问题 新手求大神帮助!!!
#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);
}
手持两把锟斤拷,口中疾呼烫烫烫。
脚踏千朵屯屯屯,笑看万物锘锘锘。
小伙子,用的vc吧。文件操作不是特别熟悉,不过感觉上是你出入后文件指针在后面,你再输出指针继续后移,输出的都是你没初始化,系统自动赋值的屯屯屯。
个人猜测,仅供参考 读入一位后指针后移一位,所以你输入之后指针是指在你输入这串数据的后一位的,你要把指针重新指回开始才能继续输出。。 阴影中的曙光 发表于 2016-1-2 13:18
读入一位后指针后移一位,所以你输入之后指针是指在你输入这串数据的后一位的,你要把指针重新指回开始才能 ...
知道了!非常感谢!!! 阴影中的曙光 发表于 2016-1-2 13:13
手持两把锟斤拷,口中疾呼烫烫烫。
脚踏千朵屯屯屯,笑看万物锘锘锘。
小伙子,用的vc吧。文件操作不是特 ...
我的是烫烫烫 直接fread不就可以了? 黑龍 发表于 2016-1-2 15:10
直接fread不就可以了?
文件操作,一塌糊涂 阴影中的曙光 发表于 2016-1-2 15:40
文件操作,一塌糊涂
谁啊? 黑龍 发表于 2016-1-2 15:48
谁啊?
我自己啊= = #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]