unsigned char in wide char konvertieren

sand13r

Erfahrenes Mitglied
Hallo liebe Freunde der Sonne,


ich hab schon wieder ein Problem, ich hab eine unicode anwendung und lese mit einer FKT von der WLAN API einen wert aus und zwar die SSID und die wird mir in
UCHAR geliefert. wenn ich denn wert nun in eine Datei schreiben will schreibt er mir komische zeichen rein, was wohl mit dem unicode zu tun hat.
Deswegen wollte ich fragen ob jemand weis wie ich ein unsigned char in ein wide char umwandel
oder eben ein unsigned char mitels fprintf() oder ähnlichem in eine Datei schreib i bin
hier voll am verzweifeln hab schon lauter casts versucht aber scheint nix zu funktionieren.


Ich benutze VS 2005 und eben eine unicode anwendung.


vielen Dank im Vorraus

greetz sand13r
 
bei einer unicode-anwendung sollte man auch nicht fprintf verwenden, von denen gibts alles unicodevarianten
und einen unsigned 1-byte-char sollte man eigentlich ohne probleme in ein wchar_t oder ähnliches per = zuweisen können?
 
hi um genau zu sein benutze ich _ftprintf() welche die wchar_t version ist ^^ wenn ich das aber so in die datei schreib macht er mir en komisches zeichen daraus weil er wahrscheinlich 2 unsigned werte für einen widechar wert hernimmt und somit was komisches rauskommt..

hab schon alles mögliche versucht
zB.
Code:
unsigned char uChar[10];
wchar_t wChar[10];

wChar=(wchar_t)uChar;

geht aber auch nicht... :(
 
Könnte so gehen:
C++:
unsigned char uChar[10];
wchar_t wChar[10];

mbstowcs(wChar, uChar, sizeof(uChar));
Gruß
MCoder
 
Ist ja klar dass das nicht mit purem = geht, bei einem Array musst du halt alles in einer schleife durchgehen...oder die funktion von mcoder benutzen, schreibt sich vermutlich schneller :)
 
@MCoder
BIG THX so gehts ^^ dich bräuchte man in seiner ICQ Liste oder so das wär ein Traum XD
BIG THX again^^

MCoder 4 president

@sheel
da hast au wieder recht xD
 
Zurück