通常,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/

10-13 08:12