VC有个问题我不懂关于if(findData.dwFileAttributes & FILE

发布时间:2021-02-22 04:39:51

VC有个问题我不懂关于if(findData.dwFileAttributes & FILE

网友回答

if(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
这个判断语句是通过 将dwFileAttributes和FILE_ATTRIBUTE_DIRECTORY做位的与运算
来判断所找到的项目是不是文件夹
因为 FindFirstFile返回的 findData 中 dwFileAttributes项的值
可能是 FILE_ATTRIBUTE_ARCHIVE
FILE_ATTRIBUTE_COMPRESSED
FILE_ATTRIBUTE_DIRECTORY
FILE_ATTRIBUTE_HIDDEN
FILE_ATTRIBUTE_NORMAL
FILE_ATTRIBUTE_OFFLINE
FILE_ATTRIBUTE_READONLY
FILE_ATTRIBUTE_SYSTEM
FILE_ATTRIBUTE_TEMPORARY
中几项的组合值
findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY
的结果只能是两种:
FILE_ATTRIBUTE_DIRECTORY
非零值 ,if条件是真 0 ,if条件是假
通过 findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY
可以判断 dwFileAttributes项的值中是否 FILE_ATTRIBUTE_DIRECTORY,即判断所找到的项目是不是文件夹
这种对位运算结果的判断,在windows编程中有很多
如窗体属性,鼠标按键
以上问题属网友观点,不代表本站立场,仅供参考!