Я написал небольшую программу, которая часто открывает небольшие пользовательские текстовые файлы и до сих пор не сталкивалась с какими-либо проблемами с доступом для чтения / записи или какими-либо конфликтами.Файлы выбираются в другом программном обеспечении, которое я не могу контролировать, и передаются мне в виде строки.
При попытке открыть файл с подключенного сетевого диска появляется сообщение «Система не можетнайти указанный путь "error (GetLastError () = 3).
Вызов показан ниже, *iNCfileName = "z:\\Validation\\Sample Files\\1_1-4 120MM.CC"
, где Z: сопоставленная папка в нашем домене.
iNCfile = CreateFile( iNCfileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL);
if ( iNCfile == INVALID_HANDLE_VALUE )
{
string msg; // lots of better ways to get this printed ... but ...
dw = GetLastError();
msg = iNCfileName;
msg += ": ";
msg += _com_error(dw).ErrorMessage();
print_error(dw , (char*)msg.c_str() );
return 102;
}
Файл открывается из моей программы, если я копирую его на локальный жесткий диск.Он также открывается в блокноте с подключенного диска.
Может ли это быть проблемой между отображенным представлением "Z: \ what.txt" и истинным именем файла (\ mydomain \ Validation \ S ....??)?
Если это так, как я могу преобразовать один в другой программным способом (предположим, я не буду знать имена доменов / общих ресурсов заранее)?
Если этоИмеет значение, что я использую VS2010, и приложение выполняется на компьютере с Win XP.
Связано: мой следующий вопрос