通常,GetFileAttributesW(L"C:")
返回0x10
(FILE_ATTRIBUTE_DIRECTORY
),这是合理的。
在某些情况下,GetFileAttributesW(L"C:")
将返回0x2416
(FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_REPARSE_POINT | FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
)
我不知道是什么使它发生了以及如何摆脱它。此问题使boost::filesystem::canonical
无法正常工作。你有什么主意吗?
最佳答案
这里的主要困惑是C:
的含义。这被解释为C
驱动器上的当前目录。在MSDN上对此进行了解释:Naming Files, Paths, and Namespaces。
因此,GetFileAttributesW(L"C:")
返回的值取决于当前目录。我相信您打算获取根文件夹的属性,在这种情况下,您必须使用GetFileAttributesW(L"C:\\")
。
关于c++ - 为什么要使用GetFileAttributesW(L“C :”) return FILE_ATTRIBUTE_REPARSE_POINT?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38300808/