读取文件中的数据出错,不知道哪里有问题
#include<stdio.h>main()
{
int i;
char str[30];
FILE *fp;
fp=fopen("123.txt","r+");
while(!feof(fp))
{
i=0;
fscanf(fp,"%s",str);
while(str[i]!='\0')
i++;
str[i+0]='@';
str[i+1]='q';
str[i+2]='q';
str[i+3]='.';
str[i+4]='c';
str[i+5]='o';
str[i+6]='m';
str[i+7]='\0';
printf("%s\n",str);
}
fclose(fp);
}
程序是想从一个文本文件中读入数据,如:123,456,7897,输出:123@,456@,7897@
但是程序执行次数有误,输出的也不是正确的结果,是什么原因呀