牛骨文教育服务平台(让学习变的简单)
博文笔记

巧妙实现之c语言计算文件大小

创建时间:2011-08-03 投稿人: 浏览次数:140
 

今天面试,面试官问我c语言里面有木有函数计算一个文件的大小,是哪一个?

我纠结了一小会儿,我想有吗?当时也没回答出来,回来查才知道,用的是用lseek和ftell结合使用实现的。

The ftell() function returns the current position in an open file.
ftell()函数的作用是:返回文件指针当前的读/写的位置。

Returns the current file pointer position, or FALSE on failure.
如果函数执行成功,将返回当前的指针位置;如果执行失败,将返回False。

#include<stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main()
{
        long fileSize = 0;
        FILE *pFile = fopen("t2.c","r");
        if( pFile == NULL)
        {
                printf("Open File Error /n");
        }
        else
        {
                fseek(pFile, 0, SEEK_END);//移向END
                fileSize = ftell(pFile);

                printf("file size:%ld ", fileSize);
        }
        fclose(pFile);
}

使用ls -l 或者ll查看,很准确。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。