• Linux C 获取 文件的大小


    通过Linux C库函数来获取文件的大小

    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <malloc.h>
    #include <stdio.h>
    
    void main(int argc, char*argv[]){
    
    	off_t file_size;
    	char *buffer;
    	struct stat stbuf;
    	int fd;
    	  
    	fd = open(argv[1], O_RDONLY);
    	if (fd == -1) {
    	  /* Handle error */
    	}
    	  
    	if ((fstat(fd, &stbuf) != 0) || (!S_ISREG(stbuf.st_mode))) {
    	  /* Handle error */
    	}
    	  
    	file_size = stbuf.st_size;
    	printf("file_size is %d
    ", file_size);
    }
    
    
    

    其中,struct stat的结构如下:

    struct stat {
        dev_t     st_dev;     /* ID of device containing file */
        ino_t     st_ino;     /* inode number */
        mode_t    st_mode;    /* protection */
        nlink_t   st_nlink;   /* number of hard links */
        uid_t     st_uid;     /* user ID of owner */
        gid_t     st_gid;     /* group ID of owner */
        dev_t     st_rdev;    /* device ID (if special file) */
        off_t     st_size;    /* total size, in bytes */
        blksize_t st_blksize; /* blocksize for file system I/O */
        blkcnt_t  st_blocks;  /* number of 512B blocks allocated */
        time_t    st_atime;   /* time of last access */
        time_t    st_mtime;   /* time of last modification */
        time_t    st_ctime;   /* time of last status change */
    };
    
    
    
  • 相关阅读:
    一些专有名词词汇
    UE、UI、 IA和IxD傻傻分不清
    关于SNMP4J取值乱码解决方法
    个人推荐
    软件系统分类
    Ext 4.2树节点搜索功能
    android picke ui
    android 滚轮
    一、dialog.show()引起的android.view.WindowManager$BadTokenException错误
    fragment getactivity 为null解决
  • 原文地址:https://www.cnblogs.com/xuanyuanchen/p/6437357.html
Copyright © 2020-2023  润新知