`
qimo601
  • 浏览: 3416079 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

C语言下,获取文件信息

阅读更多
C语言下,如何获取文件的生成时间,日期和文件大小等文件信息。

   1、标准库函数并未提供对应的实现,这个Linux上GCC中struct stat的资料
struct stat {
    dev_t         st_dev;      /* device */
    ino_t         st_ino;      /* inode */
    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 type (if inode device) */
    off_t         st_size;     /* total size, in bytes */
    blksize_t     st_blksize;  /* blocksize for filesystem I/O */
    blkcnt_t      st_blocks;   /* number of 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 change */
};
 
   实现:

     
    int fd,size;
    struct stat buf;
    
    fd=open("file",O_RDONLY);
    fstat(fd,&buf);
    size=buf.st_size;
 
  2、也可以这样直接得到文件的大小

        // 将指针定位到文件末尾
        fseek( pFile, 0L, SEEK_END );
	//告诉当前指针位置,Byte
        fileSize = ftell( pFile );
   
 3、可以通过Qt中QFileInfo很方便就获取到文件信息

    //打开文件  
    QFileInfo f("./test.txt");  
    //获取文件创建时间  
    QDateTime createTime=f.created();  
    //获取文件最后更新时间  
    QDateTime updateTime=f.lastModified();  
    //获取文件最后浏览时间  
    QDateTime lastRTime=f.lastRead(); 
 
0
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics