Страницы

Поиск по вопросам

среда, 12 июня 2019 г.

Не работает PathCombine

P.S: VS - 2015
Пытаюсь сложить 2 пути но не получается, постоянные ошибки при использование функции PathCombine
#include #include "Shlwapi.h" //
Допустим у меня есть папка 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

Комментариев нет:

Отправить комментарий