linux中怎么获取文件大小

linux中怎么获取文件大小,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

#include <stdio.h>
#include <sys/stat.h>

/*失败返回-1,成功返回非负数*/

long GetFileSize(const char *fileName)
{
    long fileSize;
    long currentReadPosition;
    FILE *fileHandle;
    if(fileName == NULL)
        return -1; 
    fileHandle = fopen(fileName,"rb");
    if(fileHandle == NULL)
        return -1; 
    currentReadPosition=ftell( fileHandle );
    fseek( fileHandle,0,SEEK_END );
    fileSize=ftell( fileHandle );
    fseek( fileHandle,currentReadPosition,SEEK_SET ); 
    fclose(fileHandle); 
 
    return fileSize; 
} 

off_t GetFileSize2(const char *fileName) 
{ 
    struct stat fileStat; 
    off_t ret ; 
    ret = stat(fileName,&fileStat); 
    if(!ret) 
        return fileStat.st_size; 
    return -1; 
}

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对亿速云的支持。