P.S: VS - 2015
Пытаюсь сложить 2 пути но не получается, постоянные ошибки при использование функции PathCombine
#include
Допустим у меня есть папка Temp
TCHAR myPath[MAX_PATH];
GetTempPath(MAX_PATH, myPath);
И я хочу дать название папки, которую нужно создать в папке Temp
const std::wstring fname = L"MyDirectory";
Дальше функция для создание папки:
BOOL DirectoryExists(LPCTSTR szPath)
{
DWORD dwAttrib = GetFileAttributes(szPath);
return (dwAttrib != INVALID_FILE_ATTRIBUTES && (dwAttrib & FILE_ATTRIBUTE_DIRECTORY));
}
void createDirectoryRecursively(std::wstring path)
{
unsigned int pos = 0;
do
{
pos = path.find_first_of(L"\\/", pos + 1);
CreateDirectory(path.substr(0, pos).c_str(), NULL);
} while (pos != std::string::npos);
}
Теперь функция по слиянию папки "Temp" и "MyDirectory"
std::wstring directory = PathCombine(NULL, myPath, fname.c_str()); // Слияние 2 пути
if (DirectoryExists(directory.c_str()) == FALSE) // Проверка
createDirectoryRecursively(directory); // Создание папки
В итоге получаю ошибку:
Попробовал изменить на PathCombineW
P.P.S: std::wstring directory = std::wstring(myPath) + fname; Так работает, но проблема с PathCombine осталась, как её решить?
Ответ
Попробуйте включить в проект библиотеку ShLwApi.Lib
Комментариев нет:
Отправить комментарий