• 如何通过ftell和fseek来获取文件大小


     1 #include <stdio.h> 
     2 int main () 
     3    { 
     4         FILE * pFile=NULL; 
     5     long size; 
     6     pFile = fopen ("myfile.txt","rb"); 
     7     if (pFile==NULL) perror ("Error opening file"); 
     8     else
     9         { 
    10     fseek (pFile, 0, SEEK_END);
    11     size=ftell (pFile); 
    12     fclose (pFile);
    13     pFile=NULL;
    14      printf ("Size of myfile.txt is: %ld bytes.
    ",size); 
    15          } 
    16     return 0; 
    17      }

      首先利用fseek(pfile,0,SEEK_END)将文件的当前位置移到文件的末尾,然后调用函数ftell()获得当前位置相对于文件首的位移,该位移值就等于文件所含字节数。这样就得到文件大小了!

        fseek(重定位流上的文件指针)

        int fseek(FILE *stream, long offset, int fromwhere);

        函数说明:第一个参数stream为文件指针,  第二个参数offset为偏移量,整数表示正向偏移,负数表示负向偏移  第三个参数fromwhere设定从文件的哪里开始偏移,可能取值为:SEEK_CUR(当前位置)、 SEEK_END(文件结尾)或 SEEK_SET(文件开头), 其中SEEK_SET,SEEK_CUR和SEEK_END的值依次为0,1和2。
       例如:
    fseek(fp,100L,0);把fp指针移动到离文件开头100字节处;

       返回值: 成功,返回0,否则返回其他值。

       ftell(返回当前文件位置)

       long ftell(FILE *stream)

       函数说明:用于得到文件位置指针当前位置相对于文件首的偏移字节数。

  • 相关阅读:
    AJAX
    正则表达式
    SQL
    foreach 的本质
    C#
    Dojo的subscribe和publish的简单使用
    Dojo的Gridx使用jsonrest需要注意的地方
    如何让Button使用自定义icon
    Djanog结合jquery实现ajax
    如何设置静态文件路径
  • 原文地址:https://www.cnblogs.com/sj-lv/p/3444994.html
Copyright © 2020-2023  润新知