其他分享
首页 > 其他分享> > rewind和fseek

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