UNIX获取文件大小

第一种方法比较传统,很多人都想得到,不过适用性不强,有些大文件检测不出来,方法是:打开文件,然后定位到文件尾巴,再用ftell返回文件的大小。这种方法其实不适用!

第二种方法是通过stat标准函数得到文件的信息,包含文件的一些属性,将其保存在buf结构中,buf的地址以参数形式传递给stat.

long getFileSize(const char *szfilename,long &res)  

{  

    struct stat stBuf;  

    res = 0;

    if(stat(szfilename, &stBuf)<0)  

    {  

       pirntf ("get file information fail\n");

       res = 0;

        return  -1;  //返回失败  

    }  

   res = (long)stBuf.st_size;

    return  0;  

你可能感兴趣的:(UNIX获取文件大小)