#include<stdio.h>
#include<stdlib.h>
int main()
{FILE*fp;
char ch,name[20],str[20],out[20];
printf("请输入文件名:");
scanf("%s",name);
getchar();
if((fp=fopen(name,"w+"))==NULL)
{printf("无法打开文件");
exit(0);}
printf("请输入一段字符:\n");
gets(str);
fputs(str,fp);
fputs("\n",fp);
putchar(10);
fgets(out,5,fp);
printf("%s",out);
fclose(fp);
}
为什么是这个结果啊?,w+不是读和写么?还有想问下,,当我输入完sddawdls这段字符之后,文件读写标志应该是在文件末尾的吧,那么我用fgets(out,5,fp);得到的这5个字符是从文件开头开始算起的,还是接着从刚才文件末尾开始?
那请问下有函数能实现使文件读写标志指向特定位置的吗?文件方面的函数还有什么?
追答有,fseek()函数,fseek()有三个参数:可以这样用:
fseek(fp, 0L, SEEK_SET),第一个参数,文件指针,第二个参数,文件的指定位置,第三个参数表示文件的开始处