本帖最后由 yoobaby 于 2021-11-3 22:36 编辑
- #define FILE_ATTRIBUTE_READONLY 0x00000001 //文件是只读的
- #define FILE_ATTRIBUTE_HIDDEN 0x00000002 //文件是隐藏的
- #define FILE_ATTRIBUTE_SYSTEM 0x00000004 //文件是系统文件
- #define FILE_ATTRIBUTE_DIRECTORY 0x00000010 //文件是一个目录
复制代码
以上面的属性打个比方,你的目的是判断是不是目录:
如果:dwFileAttributes 是 16是个目录,但它同时又是隐藏的呢?那它的值就是:2|16 = 18
如果你用 == 判断,它就不等于 (16 ==18),可事实是它也是目录。
但用&
2 0000010
16 0010000
18 0010010
0010000 & 0010010 = 0010000 //有两种属性 2|16
0010000 & 0010000 = 0010000 //只有一种属性 16
0010000 & 0000010 = 0000000 //只有一种属性 2 位与完 = 0 不大于0。
用 &....你自己想下。。