在CreateFile函数中,传递FILE_ATTRIBUTE_NORMAL
(0x80)和0之间有什么区别?
从CreateFile()的MSDN页面中得知:
注意:当CreateFile打开一个已存在的文件时,它通常会将文件标志和现有文件的文件属性结合起来,忽略作为dwFlagsAndAttributes的一部分提供的任何文件属性。
或者换句话说,当您打开一个已存在的文件时,需要一个值表示“我不在乎”,因为操作系统不在乎。那个值是0。
FILE_ATTRIBUTE_NORMAL
明确地不设置任何属性。如果您传递 0,则属性集是未指定的。
0
是什么意思。而这个问题问的是使用0
和FILE_ATTRIBUTE_NORMAL
有什么区别。(这个问题的答案在那里的回答中没有被回答。) - T.J. CrowderFILE_ATTRIBUTE_NORMAL
这个标志(即为什么要有一个表示“没有设置标志”的标志,而0本来就可以表示这个意思)。可能是出于历史原因,但我找不到任何解释。 - Jonathan Potter