web-dev-qa-db-fra.com

Conversion de wchar_t * en chaîne

Comment puis-je convertir un wchar_t* tableau vers un std::string varStr dans la console win32.

19
Anas90

Utilisez wstring, voir ce code:

// Your wchar_t*
wchar_t* txt = L"Hello World";
wstring ws(txt);
// your new String
string str(ws.begin(), ws.end());
// Show String
cout << str << endl;
41
FelipeDurar

Vous devez utiliser la classe wstring appartenant à l'espace de noms std. Il a un constructeur qui accepte un paramètre de type wchar_t *.

Voici un exemple complet d'utilisation de cette classe.

wchar_t* characters=L"Test";
std::wstring string(characters);

Vous n'avez pas besoin d'utiliser un constructeur contenant String.begin () et String.end () car le constructeur de std :: wstring alloue automatiquement de la mémoire pour stocker le tableau de wchar_t et copie le tableau dans la mémoire allouée.

6
Norbert Willhelm