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

一、 判断文件是存在

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;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxz520zmg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值