Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

hallo coder,

ich arbeite gerade ein wenig mit der gdi+ und brauche dafür eine möglichkeit, auf einfachsten und schnellsten wege ein char* in ein wchar_t* zu casten. weiß vielleicht einer von euch wie ich das am einfachsten hinbekommen kann.

Wie bei jedem anderen cast auch:


char *myChar;

wchar_t *myWchar;


myWchar=(wchar_t *)myChar;

Allerdings solltest Dir sicher sein, dass der Cast an der Stelle auch erlaubt ist, da wchar_t und char eine unterschiedliche Groesse haben. Ein char ist 8 Bit gross, wchar_t ueblicherweise ein unsigned long. D.h. wenn Du eine Funktion aufrufst, einen Char-Pointer uebergibts und die Funktion an diese Stelle ein wchar_t schreibt, gibt es Probleme!

Nic

Korrektur: Unicode ist 16 Bit groß und benötigt deshalb unsigned short bei Pentium.

@Maddin: Gibt es schon eine brauchbare Anleitung für die GDI+? Ich habe da so meine Probleme gehabt, als sie rauskam und deshalb erstmal die Finger von gelassen.

Das haengt davon ab, wo Du "wchar_t" her holst. In ncurses/curses und X11 ist es folgendermaßen definiert:


typedef unsigned long wchar_t;

Im Zweifelsfall also lieber "sauber" programmieren und moeglichst nicht wild rumcasten.

Nic

Original geschrieben von nic_power


char *myChar;

wchar_t *myWchar;


myWchar=(wchar_t *)myChar;

Ich bin mir sicher, das wird größten Müll geben!



char szAnsi[255];
LPWSTR lpUnicode
DWORD dwLength = AnsiToUnicode((LPCTSTR)szAnsi,NULL);
LPWSTR lpUnicode = new wchar_t[dwLength];
AnsiToUnicode((LPCTSTR)szAnsi,lpUnicode);
[/PHP]

Ich glaube, so kommt man weiter.

Zu GDI+ kenne ich nur die Anleitung, die in der MSDN ist.

Wenn es eine bessere gibt, wäre ich auch sehr interessiert.

Zur GDI+ habe ich auch bloß die doku aus der MSDN. Die reicht aber auch.

Zum Thema:

Das wilde rumcasten habe ich schon ausprobiert. Das gibt den totalen Müll. Deshalb habe ich auch gefragt. Das mit der Funktion AnsiToUnicode werde ich einmal ausprobieren

ich habs jetzt mit der AnsiToUnicode gemacht. Und damit läuft alles bestens

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.