判断文件是否存在、获取文件大小

一、 判断文件是存在
GetFileAttributes( m_Output) == -1 //判断文件是否存在若不存在返回-1
返回字段
返回值
属性类型
FILE_ATTRIBUTE_READONLY
1
只读
FILE_ATTRIBUTE_HIDDEN
2
隐藏
FILE_ATTRIBUTE_SYSTEM
4
系统
FILE_ATTRIBUTE_DIRECTORY
16
目录
FILE_ATTRIBUTE_ARCHIVE
32
存档
FILE_ATTRIBUTE_DEVICE
64
保留
FILE_ATTRIBUTE_NORMAL
128
正常
FILE_ATTRIBUTE_TEMPORARY
256
临时
FILE_ATTRIBUTE_SPARSE_FILE
512
稀疏文件
FILE_ATTRIBUTE_REPARSE_POINT
1024
超链接或快捷方式
FILE_ATTRIBUTE_COMPRESSED
2048
压缩
FILE_ATTRIBUTE_OFFLINE
4096
脱机
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192
索引
FILE_ATTRIBUTE_ENCRYPTED
16384
加密
FILE_ATTRIBUTE_VIRTUAL
65536
虚拟
橙色标记的属性为 Windows 系统中文件的公有属性,其中 “ 只读 ” 、 “ 隐藏 ” 、 “ 系统 ” 、 “ 存档 ” 为文件 的四种基本属性 。  compressed  ,  content_indexed  ,  encrypted  只存在于 NTFS 分区中。
文件去掉全部属性后(四种基本属性),将自动标记为 normal 。同时具有 system 和 hidden 属性的文件会在系统中彻底隐形,这也是病毒常用的伎俩。
commpressed 和 encrypted 不能共存。默认情况下文件有 content_indexed 属性。
二、获取文件大小
ULONGLONG size;
CFileStatus fileStatus;
//文件绝对路径
if (CFile::GetStatus(m_Output, fileStatus))
size = fileStatus.m_size;

猜你喜欢

转载自blog.csdn.net/m0_37759974/article/details/80507951
今日推荐