参考http://blog.sina.com.cn/s/blog_7a18bae10100t7zb.html
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编程中有很多 如窗体属性,鼠标按键
================
文章中没有提到findData如何获取 下面补充
if (GetFileAttributes(path) & FILE_ATTRIBUTE_DIRECTORY) {
MessageBox((CString)"该文件是文件夹");
}
else {
MessageBox((CString)"该文件不是文件夹"");
}