rewind:使文件位置标记指向文件开头
我用我博文之前写的程序来说明一下:
#include<stdio.h>
int main()
{
FILE *fp=fopen("a.txt","w+");
char str1[10]="haha";
char str2[10];
if(fputs(str1,fp)==0)
{
printf("yes");
}
//fclose(fp);
rewind(fp);
//fp=fopen("a.txt","r");
fgets(str2,2,fp);
printf("%s",str2);
fclose(fp);
return 0;
}
在这段代码中,我注释了以前用两个文件指针,用rewind函数,只用了一个文件指针,打印相同的结果
fseek:改变文件位置标记
#include<stdio.h>
int main()
{
FILE *fp=fopen("a.txt","w+");
char str1[10]="haha";
char str2[10];
if(fputs(str1,fp)==0)
{
printf("yes");
}
fseek(fp,0,0);
fgets(str2,2,fp);
printf("%s",str2);
fclose(fp);
return 0;
}
当使用fseek函数打印出同样的结果,当把fseek函数改为fseek(fp,1,0)的时候打印出:yesa ,表明位移量加上1,则移动一个字节。
字节:数字英文字母一个等于1个字节,汉字占2个字节,字节指的是单位