Преобразование между wchar_t* в строку

Я пытался создать клиент на C++ для веб-службы с помощью служебной программы метаданных модели обслуживания, установил связь между двумя конечными точками, но на стороне клиента я получил wchar_t*Как я могу преобразовать его в строку?

Примечание: на стороне сервера используется кодировка UTF-8.

2 ответа

Решение

Используйте эту простую функцию:

std::string wchar2string(wchar_t* str)
{
    std::string mystring;
    while( *str )
      mystring += (char)*str++;
    return  mystring;
}

Я надеюсь, что эта функция может помочь вам!

Ты можешь использовать std::wstring который имеет конструктор, который принимает wchar_t*,

Другие вопросы по тегам