Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinAPI] LPSTR a LPCWSTR jako argument w funkcji ...

Ostatnio zmodyfikowano 2011-05-16 20:08
Autor Wiadomość
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
P-33068
Elaine
» 2011-05-16 19:38:49
MultiByteToWideChar. Możesz też wywołać funkcję SetWindowTextA, która tę konwersję przeprowadzi sama.
P-33069
Mrowqa
Temat założony przez niniejszego użytkownika
» 2011-05-16 19:52:35
Dzięki :P
Ja znalazłem to:
C/C++
LPCWSTR MultiCharToUniChar( char * mbString ) //do niczego :P
{
    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
P-33070
DejaVu
» 2011-05-16 20:02:21
Nie, ale sporo ma.
P-33072
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
P-33074
« 1 »
  Strona 1 z 1