我想知道之间有什么区别:
file.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY
和:
file.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY
当我使用第一个时,我得到了更多文件。
FILE_ATTRIBUTE_DIRECTORY
是文件属性常量,file.dwFileAttributes
是 Windows API 中的 WIN32_FIND_DATA
结构成员。
最佳答案
规则很简单:
- 当变量只能保存一个值时,您可以使用相等运算符
==
进行测试。 - 当变量可以包含零个、一个或多个标志时,您可以使用按位与运算符
&
测试标志是否存在。
对于 dwFileAttributes
,文档说:
The file attributes of a file. For possible values and their descriptions, see ...
使用复数表示我的第二个要点适用。
关于c - 比较常量时在哪里可以使用&和==?有什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15622977/