维1
2017-03-28 00:12
采纳率: 66.7%
浏览 2.2k
已采纳

c语言文件读写问题,每次写入文件指针就出现错误

#include
#include
#include
int main()
{
int i = 0;
char b;
char a[] = "iloveyou";
printf("%s\n", a);
FILE *fp=NULL;
char *filename = "c:/1.txt";
fp = fopen(filename, "a+");
if (fp == NULL)
{
printf("func fopen() err\n");
return -1;
}
for (i = 0; i<strlen(a); i++)
{
fputc(a[i], fp);//写入
//每次这里就出错
}
for (i = 0; i < strlen(a); i++)
{
if (!feof(fp))
{
b = fgetc(fp);
printf("%c", b);
}
}
fclose(fp);
getchar();
return 0;
}
//iloveyou
//屯屯屯屯
//这是结果

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • abc3065369 2017-03-28 01:54
    已采纳

    你打开文件写入文件之后,文件流指针指向末尾,读取的时候从当前文件流指针位置读取,当然读取不到东西,
    把文件关闭重新rb 打开,或者重新定位文件流指针

    打赏 评论
  • 白日梦想jun 2017-03-28 01:42
    打赏 评论
  • xiaowkkll 2017-03-28 01:44

    写完字符后需要把文件指针指向文件开始的地方再开始从文件中读取数据,读数据之前添加一句就好了
    fseek(fp, 0, SEEK_SET);

    打赏 评论
  • 维1 2017-03-28 07:17

    不胜感激,我都想了好几天了,学的太差

    打赏 评论

相关推荐 更多相似问题