WCHAR zu char

hallo!

ich benutze bei einem programm von mir eine windows api funktion. diese funktion hat eine klasse in der ich auf eine variable vom typ WCHAR zugreife.

nun muss ich um strcmp benutzen zu können diese WCHAR variable in char umwandeln...

also beispielsweise:

WCHAR blabla;
DoSomething(blabla);

if (strcmp("blubb", ?blabla?)==0) printf("gleich");

vergleichbar wäre auch:
printf("%s",?blabla?);

wenn man mit printf eine WCHAR variable ausgeben lässt wird jeweils nur der erste buchstabe angzeigt, deshalb vermute ich das bie strcmp auch nur der erste buchstabe mit dem "blubb" verglichen wird


so sieht das aus..

ich habe schon mal gegooglet und habe folgendes gefunden:
Hi,

#include <atlbase.h>
USES_CONVERSION;
char *pchar = W2A(your_wchar);

auch mit WideCharToMultiByte bleibt das problem dass wenn ich eine WCHAR variable umwandle und die daraus resultierende char variable mit printf ausgeben, dass nur das erste zeichen ausgegeben wird


aber das funktioniert bei mir nicht (zumindestens nicht in bezug auf dieses problem).

kann mir irgendjemand mit einer WCHAR to char funktion helfen?

ps: es handelt sich um WCHAR und nicht wchar_t!


danke im vorraus
 
wie schon gesagt:
diese WideCharToMultiByte geht bei mir irgendwie net

und zum _wcsicmp:
damit kann ich 2 wchar vergleichen, wenn dann will ich aber ein wchar und ein char vergleichen
 
Zurück
Oben