fputs(str,fp)向文件写字符串问题求教!!!
#include<stdio.h>#include<stdlib.h>
#include<string.h>
int main()
{
FILE *fp;
char str[80],str1[80];
memset(str,'\0',sizeof(str));
memset(str,'\0',sizeof(str1));
if((fp=fopen("E:\\file\\rewind.txt","wt+"))==NULL) //创建一个空文件
{
printf("cannot open the file!\n");
getchar();
exit(1);
}
fflush(stdin);
printf("请输入保存到文件中的一个字符串:\n");
gets(str);
printf("%s\n",str);
fputs(str,fp);
printf("%d\n",ftell(fp));
printf("%d\n",feof(fp));
fgets(str1,79,fp);
printf("写入字符串后,立即读取的字符串为:%s\n",str1); //问题:到了文件末尾应该读不到内容,实际还是读取了一些内容
rewind(fp);
fgets(str1,79,fp);
printf("重置位置指针后,读取的字符串为:%s\n",str1);
fclose(fp);
system("pause");
return 0;
}
//问题一:将字符串写入文件后,没有重置文件位置指针此时位置指针指向文件末,应该读不出数据,但是但是读出来一些乱码
//问题二:当重置文件位置指针后,读取数据,正确数据之后有一段乱码
//问题三:求解文件结束符EOF什么时侯标注文件状态
[ 本帖最后由 dj125 于 2012-8-30 18:30 编辑 ]