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
//屯屯屯屯
//这是结果

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

http://c.biancheng.net/cpp/html/251.html

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

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