美文网首页
c语言 获取文件大小

c语言 获取文件大小

作者: 月震 | 来源:发表于2018-03-08 10:12 被阅读0次

    方法一:

    获得文件大小需要用到2个函数:fseek() , ftell()

    fseek()函数:

    原型:intfseek(**FILE ***stream, **long **offset, **int **fromwhere);

    参数:

    stream: 第一个参数stream为文件指针
    offset : 第二个参数offset为偏移量,正数表示正向偏移,负数表示负向偏移
    fromwhere: 第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET

    SEEK_SET: 文件开头
    SEEK_CUR: 当前位置
    SEEK_END: 文件结尾
    其中SEEK_SET,SEEK_CUR和SEEK_END依次为0,1和2.
    简言之:
    fseek(fp,100L,0);把文件内部指针移动到离文件开头100字节处;
    fseek(fp,100L,1);把文件内部指针移动到离文件当前位置100字节处;
    fseek(fp,-100L,2);把文件内部指针退回到离文件结尾100字节处。

    参考文章:百度百科,fseek(),https://baike.baidu.com/view/656696.htm

    ftell()函数:

    原型: longftell(**FILE ***stream);

    功能:返回当前文件位置,也就是说返回FILE指针当前位置。(也就是偏离文件首字符个数)

    方法二:

    这里使用到 struct _stat结构体

    **st_atime **: 上次访问该文件的时间

    **st_ctime **: 文件创建时间

    **st_dev **: 文件所在磁盘

    **st_mtime **:最后一次修改文件时间

    **st_size **: 文件大小

    相关文章

      网友评论

          本文标题:c语言 获取文件大小

          本文链接:https://www.haomeiwen.com/subject/oybefftx.html