linux系统编程中如何使用stat计算文件大小

linux系统编程中如何使用stat计算文件大小

阅读 2.8k
评论
    2 个回答
    #include <sys/stat.h>  
    #include <unistd.h>  
    #include <stdio.h>  
    /* 
        函数名:getFileSize(char * strFileName)  
        功能:获取指定文件的大小 
        参数: 
            strFileName (char *):文件名 
        返回值: 
            size (int):文件大小 
     */  
    int getFileSize(char * strFileName)   
    {  
        FILE * fp = fopen(strFileName, "r");  
        fseek(fp, 0L, SEEK_END);  
        int size = ftell(fp);  
        fclose(fp);  
        return size;  
    }  
    /* 
        函数名:getFileSizeSystemCall(char * strFileName)    
        功能:获取指定文件的大小 
        参数: 
            strFileName (char *):文件名 
        返回值: 
            size (int):文件大小 
     */  
    int getFileSizeSystemCall(char * strFileName)   
    {  
        struct stat temp;  
        stat(strFileName, &temp);  
        return temp.st_size;  
    }  
    int main()  
    {  
        printf("size = %d/n", getFileSize("getFileSize.cpp"));  
        printf("size = %d/n", getFileSizeSystemCall("getFileSize.cpp"));  
        return 0;  
    }  

      你去翻阅stat函数,估计实现会让你上面的差不多

        撰写回答

        登录后参与交流、获取后续更新提醒

        相似问题
        推荐文章