utiliser juste ceci:
static wchar_t* charToWChar(const char* text)
{
const size_t size = strlen(text) + 1;
wchar_t* wText = new wchar_t[size];
mbstowcs(wText, text, size);
return wText;
}
Ne pas oublier d'appeler delete [] wCharPtr
sur le résultat de retour lorsque vous êtes fait, sinon c'est une fuite de mémoire qui attend de se produire si vous continuez à l'appeler sans nettoyage. Ou utilisez un pointeur intelligent comme le suggère le commentateur ci-dessous.
Ou utiliser des chaînes standards, comme la façon suivante:
#include <cstdlib>
#include <cstring>
#include <string>
static std::wstring charToWString(const char* text)
{
const size_t size = std::strlen(text);
std::wstring wstr;
if (size > 0) {
wstr.resize(size);
std::mbstowcs(&wstr[0], text, size);
}
return wstr;
}
Vous devriez créer un lien vers votre source: http://msdn.microsoft.com/en-us/library/ms235631%28VS.80%29. aspx –
Merci. Je devrais probablement lier à google aussi bien :) –
Ceci est la réponse parfaite – pradeep