zoukankan      html  css  js  c++  java
  • 根据文件路径得到文件其它属性

    利用FindFirstFile()可以通过路径得到文件的很多属性。关于文件的全部属性信息,总计有以下以下9 种:文件的标题名、文件的属性(只读、存档,隐藏等)、文件的创建时间、文件的最后访问时间、文件的最后修改时间、文件大小的高位双字、文件大小的低位双字、保留、保留。其中使用的结构体如下:

    typedef struct _WIN32_FIND_DATA {

      DWORD dwFileAttributes; //文件属性

      FILETIME ftCreationTime; // 文件创建时间

      FILETIME ftLastAccessTime; // 文件最后一次访问时间

      FILETIME ftLastWriteTime; // 文件最后一次修改时间

      DWORD nFileSizeHigh; // 文件长度高32位

      DWORD nFileSizeLow; // 文件长度低32位

      DWORD dwReserved0; // 系统保留

      DWORD dwReserved1; // 系统保留

      TCHAR cFileName[ MAX_PATH ]; // 长文件名

      TCHAR cAlternateFileName[ 14 ]; // 8.3格式文件名

    } WIN32_FIND_DATA, *PWIN32_FIND_DATA;

    可以通过FindFirstFile()函数根据当前的文件存放路径查找该文件来把待操作文件的相关属性读取到WIN32_FIND_DATA结构中去:

    在获取文件大小的时候,DWORD 就是32位 = 4G了,如果文件大小太大不得不采取64位来存储。

    DWORD    nFileSizeHigh; // 64位的高位

    DWORD    nFileSizeLow;  // 64位的低位

    拼在一起就是完整的文件长度了。

    具体的拼接方法为:

    文件大小为:(fileInfo.nFileSizeHigh * (MAXDWORD+1)) + fileInfo.nFileSizeLow 

  • 相关阅读:
    常见排序算法的实现和比较
    关于数据库索引的原理和应用
    数据库查询优化的几种方式
    进程间通信的几种方式
    TCP的三次握手和四次分手
    【面试题35】第一个只出现一次的字符
    【面试题34】丑数
    【面试题33】把数组排成最小的数
    【面试题32】从1到n整数中1出现的次数
    简单工厂模式
  • 原文地址:https://www.cnblogs.com/Toya/p/11474628.html
Copyright © 2011-2022 走看看