ciao,
ho questo problema:
devo scrivere in memoria una stringa in formato unicode (un byte di carattere, un byte a 0, ...) una mia variabile formato char[xx]...
come posso fare?
thanx![]()
ciao,
ho questo problema:
devo scrivere in memoria una stringa in formato unicode (un byte di carattere, un byte a 0, ...) una mia variabile formato char[xx]...
come posso fare?
thanx![]()
Ciao,
puoi usare la funzione mbstowcs che fa proprio questo.
Il codice l'ho scritto di getto quindi non assicuro che non dia qualche problema di compilazione...comunque credo che la strada possa funzionarecodice:... da s(byte) a ws(unicode) size_t sl = strlen(s); size_t wsl = mbstowcs(NULL, s, sl + 1); // Prima chiedo quanta memoria a bisogno wchar_t ws = new wchar_t[wsl + 1]; // Forse il +1 non serve ma non guasta mbstowcs(ws, s, sl + 1); ...![]()
funza perfettamente...
avevi solo dimenticato un asterisco!!!!
codice:size_t sl = strlen(myGen); size_t wsl = mbstowcs(NULL, myGen, sl +1); wchar_t* ws = new wchar_t[wsl + 1]; mbstowcs(ws, myGen, sl + 1);