Я делаю программу, которая рекурсивно перечисляет все файлы в определенном каталоге и загружает каждый файл отдельно на FTP-сервер, используя WinINet.Проблема, с которой я сталкиваюсь, заключается в использовании filesystem :: path :: filename в функции FtpPutFile (), потому что необходим LPCWSTR.Какой самый лучший и самый простой способ преобразовать его (или как-то использовать его как есть)?
std::string path = "C:\\Programs";
for (const auto & entry : std::experimental::filesystem::recursive_directory_iterator(path))
FtpPutFile(hIConnect, entry.path().filename(), entry.path().filename(), FTP_TRANSFER_TYPE_BINARY, 0);
Я получаю ошибку: нет подходящей функции преобразования из "const std :: экспериментальный :: filesystem :: v1:: path "to" LPCWSTR "существует
РЕДАКТИРОВАТЬ: Вот решение, которое работало для меня, следуя решению Lightness:
std::string path = "C:\\Programs";
for (const auto & entry : std::experimental::filesystem::recursive_directory_iterator(path))
FtpPutFile(hIConnect, entry.path().wstring().c_str(), entry.path().filename().wstring().c_str(), FTP_TRANSFER_TYPE_BINARY, 0);