У меня есть переменная wstring и строковая переменная в C++. Я хочу объединить их обоих, но просто добавление их вместе приводит к ошибке сборки. Как я могу объединить их обоих? Если мне нужно преобразовать переменную wstring в строку, как бы это сделать?Как объединить строку и wstring?
//A WCHAR array is created by obtaining the directory of a folder - This is part of my C++ project
WCHAR path[MAX_PATH + 1] = { 0 };
GetModuleFileNameW(NULL, path, MAX_PATH);
PathCchRemoveFileSpec(path, MAX_PATH);
//The resulting array is converted to a wstring
std::wstring wStr(path);
//An ordinary string is created
std::string str = "Test";
//The variables are put into this equation for concatenation - It produces a build error
std::string result = wStr + str;
В соответствии с соглашениями Windows На 'станд :: струнные 'не может представлять широкую строку, в общем. Если он предназначен для использования в качестве пути к файловой системе, то это * одно * конкретное преобразование, но если оно предназначено для отображения пользователю, то это * другое * преобразование. Так что во многом зависит от того, что вы намерены использовать для 'std :: string', в чем его цель **? –
«Обычная строка» - странный термин. Какой набор символов и кодировка вы хотите получить? Если это не кодировка Unicode (например, UTF-8), вы потеряете данные, потому что 'GetModuleFileNameW' будет подсчитанной последовательностью кодовых единиц UTF-16. –