zoukankan      html  css  js  c++  java
  • 实现:获取文件属性

    代码如下:

    #include<stdio.h>
    #include<Windows.h>
    
    /*
    WIN32_FILE_ATTRIBUTE_DATA  文件属性的结构体 
    GetFileAttributesEx   这个是GetFileAttributes的加强版哇
    */
    
    DWORD ShowFileSize(DWORD nFileSizeHigh, DWORD nFileSizeLow) { //32位相当于4G,如果小的话都会再nFileSizeLow ,也没必要来左移nFileSizeHigh
    	ULONGLONG FileSize;//64位无符号的整数来存储文件大小,因为    DWORD nFileSizeHigh   DWORD nFileSizeLow
    	printf("%d----%d", nFileSizeHigh, nFileSizeLow);
    	FileSize = nFileSizeHigh;
    	FileSize <<= 32;
    	FileSize += nFileSizeLow;
    	printf("文件大小为:%I64d
    ",FileSize);
    	return 0;
    }
    
    DWORD ShowFileAttribute(DWORD dwFileAttributes) {
    	printf("文件信息	");
    	if (dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE){ //进行与运算
    		printf("<ARCHIVE>
    ");
    	}
    	if (dwFileAttributes & FILE_ATTRIBUTE_READONLY) { //进行与运算
    		printf("<READ_ONLY>
    ");
    	}
    	if (dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { //进行与运算
    		printf("<DIRECTORY>
    ");
    	}
    	return 0;
    }
    
    DWORD ShowFileTime(LPFILETIME init_time) { //FileTimeToLocalFileTime接收的是指针类型 所以这里定义PFILETIME,
    	FILETIME lpf1;
    	SYSTEMTIME st;
    	FileTimeToLocalFileTime(init_time,&lpf1);
    	FileTimeToSystemTime(&lpf1, &st);
    	printf("%4d年%02d月%02d日,%02d:%02d:%02d
    ",st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond);
    	return 0;
    }
    
    DWORD ShowFileAttribute(LPCWSTR FilePath) { 
    	WIN32_FILE_ATTRIBUTE_DATA wfad;//定义一个结构体 ,保存GetFileAttributesEx获取到的文件属性
    	if (!GetFileAttributesEx(FilePath, GetFileExInfoStandard, &wfad)) { // GetFileExInfoStandard枚举常量,&wfad 指向接收属性信息的缓冲区的指针
    		printf("获取文件属性失败: %d
    ", GetLastError());
    		return 0; //如果失败 返回0
    	}
    	//得到wfad结构中的原始时间 还需要转换,先转换为本地时间,然后转换为系统时间
    	printf("创建时间:	");
    	ShowFileTime(&(wfad.ftCreationTime));
    	printf("修改时间:	");
    	ShowFileTime(&(wfad.ftLastWriteTime));
    	printf("访问时间:	");
    	ShowFileTime(&(wfad.ftLastAccessTime));
    	ShowFileSize(wfad.nFileSizeHigh,wfad.nFileSizeLow);
    	ShowFileAttribute(wfad.dwFileAttributes);
    }
    
    int main() {
    	ShowFileAttribute(L"C:\Users\dell\source\repos\msgboxtest\AbleWrite.txt");
    	system("pause");
    	return 0;
    
    }
    

    类型输出的方式学习:

  • 相关阅读:
    JS、JQuery和ExtJs的跨域处理
    百度地图API的IP定位城市和浏览器定位(转)
    jQuery简单易用的网页内容打印插件
    JS控制打印指定div
    好久没弄数学了,一本书上出现了,应该是指代了什么意思,问下.
    Java String类型数据的字节长度
    【转】oracle回闪操作
    c3p0数据库连接池死锁问题
    easyui datagrid 单选框 效果
    js插件---webuploader 使用(lavarel中使用)
  • 原文地址:https://www.cnblogs.com/zpchcbd/p/12001347.html
Copyright © 2011-2022 走看看