windows编程中超长路径的处理

对于超过一定字符的路径,WindowsAPI默认是不识别的,所以这时候需要对路径进行转换,通过以下测试代码一看便知

//可以自行通过改变路径长度来测试结果
std::wstring longPath = L"D:\\testlongpath\\testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest\\testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest\\testtesttesttesttestt\\1231231.txt";

int n1 = longPath.length();
if (longPath.length() >= MAX_PATH - 1)
{
	longPath.insert(0, L"\\\\?\\"); //对超长路径的处理,否则API不识别
}
if (PathFileExists(longPath.c_str()) == FALSE)
{
	std::cout << "file not find.";
}

 

你可能感兴趣的:(Windows编程)