Конвертировать wchar_t в строку? - PullRequest
3 голосов
/ 24 мая 2011

У меня есть wchar_t, который я хотел бы преобразовать в string. Строка должна быть прочитана с использованием stringstream. Я посмотрел, как конвертировать это здесь: http://msdn.microsoft.com/en-us/library/ms235631(v=vs.80).aspx, но никто из них не возвращает ничего полезного с stringstream. Я не очень разбираюсь в кодировании, поэтому, возможно, мне не хватает чего-то очень простого.

Заранее спасибо!

1 Ответ

5 голосов
/ 24 мая 2011

Если вы действительно действительно нуждаетесь в string из wchar_t*, то сначала вам нужно конвертировать wchar_t* в char*. Существуют различные способы сделать это в зависимости от того, какой компилятор вы используете. Самый простой способ - использовать wcstombs(), но с этим есть предостережения. Вот хорошая дискуссия по этому вопросу, с некоторыми решениями, которые могут вдохновить вас http://www.daniweb.com/software-development/cpp/threads/87362.

Однако вы можете просто использовать wstring напрямую с wchar_t*, как упомянул @ Space_C0wb0y. Если это то, что вы ищете, отметьте его ответ как правильный.

...