[WinAPI] LPSTR a LPCWSTR jako argument w funkcji ...
Ostatnio zmodyfikowano 2011-05-16 20:08
Mrowqa Temat założony przez niniejszego użytkownika |
[WinAPI] LPSTR a LPCWSTR jako argument w funkcji ... » 2011-05-16 19:32:56 Witam! Szukałem w necie i nic nie znalazłem na temat mojego problemu ;/ Problem polega w tym, że wczytuję z pliku dane ( do zmiennej typu LPSTR ), a funkcja SetWindowText() przyjmuje obiekt typu LPCWSTR. Zrobiłem test, i po konwersji jednego typu na drugi ( ( LPCWSTR ) LPSTR - obrazowy przykład ) wywala mi jakieś chińskie znaki ... Korzystam z VC++ 2010. Znacie jakiś sposób konwersji jednego typu na drugi ?? Pozdrawiam, Mrowqa |
|
Elaine |
» 2011-05-16 19:38:49 MultiByteToWideChar. Możesz też wywołać funkcję SetWindowTextA, która tę konwersję przeprowadzi sama. |
|
Mrowqa Temat założony przez niniejszego użytkownika |
» 2011-05-16 19:52:35 Dzięki :P Ja znalazłem to: LPCWSTR MultiCharToUniChar( char * mbString ) { int len = strlen( mbString ) + 1; wchar_t * ucString = new wchar_t[ len ]; mbstowcs( ucString, mbString, len ); return( LPCWSTR ) ucString; }
Ale to jest do niczego :P Nie przyjmuje wszystkich znaków :D Dzięki! EDIT: to MultiByteToWideChar znalazłem wcześniej, ale widocznie trzeba to jakoś specjalnie przygotować :P ( to co znalazłem jest do niczego :P ). W każdym razie wygodne jest SetWindowTextA. Wszystkie funkcje, które przyjmują LPCWSTR mają swój odpowiednik z literką A ?? :P Pozdrawiam, Mrowqa |
|
DejaVu |
» 2011-05-16 20:02:21 Nie, ale sporo ma. |
|
Mrowqa Temat założony przez niniejszego użytkownika |
» 2011-05-16 20:08:03 Grunt by te najczęściej używane miały ;) Ewentualnie zawsze mógłbym inaczej wczytać plik ( fstream? ) :D W każdym razie w tych sprawach ( WinAPI ) jestem początkujący i staram się robić jak najwięcej przykładów, żeby jak najwięcej wiedzieć - stąd tyle tematów :P
Pozdrawiam, Mrowqa |
|
« 1 » |