rewind和fseek
作者:互联网
rewind:使文件位置标记指向文件开头
我用我博文之前写的程序来说明一下:
#includeint 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:改变文件位置标记
#includeint 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个字节,字节指的是单位
标签:fp,字节,str2,fseek,char,rewind,printf 来源: https://blog.51cto.com/u_15144024/2855141