C++ 文件\u标志\u POSIX\u语义不起作用
我写了一个简单的测试,但它不起作用。在第二种情况下,为什么C++ 文件\u标志\u POSIX\u语义不起作用,c++,winapi,posix,C++,Winapi,Posix,我写了一个简单的测试,但它不起作用。在第二种情况下,为什么CreateFilewithFILE\u FLAG\u POSIX\u SEMANTICSFLAG允许我打开NTFS磁盘上名为“stamp.oS”的文件 #include "stdafx.h" #include <windows.h> #include <iostream> int main() { auto h = CreateFileA("c:\\stamp.oS", GENERIC_READ, 0, N
CreateFile
withFILE\u FLAG\u POSIX\u SEMANTICS
FLAG允许我打开NTFS磁盘上名为“stamp.oS”的文件
#include "stdafx.h"
#include <windows.h>
#include <iostream>
int main()
{
auto h = CreateFileA("c:\\stamp.oS", GENERIC_READ, 0, NULL, OPEN_EXISTING,
FILE_FLAG_POSIX_SEMANTICS, NULL);
if (h == INVALID_HANDLE_VALUE)
std::cout << "bad first try" << std::endl;
else
{
std::cout << "yeah first" << std::endl;
CloseHandle(h);
}
h = CreateFileA("c:\\stamp.os", GENERIC_READ, 0, NULL, OPEN_EXISTING,
FILE_FLAG_POSIX_SEMANTICS, NULL);
if (h == INVALID_HANDLE_VALUE)
std::cout << "bad second try" << std::endl;
else
{
std::cout << "yeah second" << std::endl;
CloseHandle(h);
}
system("pause");
return 0;
}
因为处理此请求的文件系统会忽略对象属性中的
OBJ\u CASE\u INSENSITIVE
标志。更好的问题-为什么要使用CreateFileA
而不是CreateFileW
不区分对象的注册表项很重要。
yeah first
yeah second