WinApi projekt problem z konwersja LPWSTR do char
Ostatnio zmodyfikowano 2012-05-04 14:43
RayTango19 Temat założony przez niniejszego użytkownika |
WinApi projekt problem z konwersja LPWSTR do char » 2012-05-04 11:55:08 Witam Was.Robię program w WinApi do rysowania wykresów funkcji ,mam to jako projekt do zaliczenia pewnego przedmiotu na studiach. Mam dwie funkcje char *konwertuj(char rownanie[],int dlugosc) ,która przetwarza funkcję na zapis ONP oraz double przelicz(char we[],double wartosc) ,która dostaje zapis równania w ONP z poprzedniej funkcji i zwraca wartosc dla danego x .Dopiero zaczynam przygodę z WinApi i w kursie widzialem taki kod :
DWORD dlugosc = GetWindowTextLength( hText ); LPSTR Bufor =( LPSTR ) GlobalAlloc( GPTR, dlugosc + 1 ); GetWindowText( hText, Bufor, dlugosc + 1 );
Za pomocą tego pobieram równanie z pola tekstowego ,ale nie wiem jak skonwertować ten LPWSTR na char .Szukam po internecie ile mogę ale nie wiem za bardzo jak to poprawnie sklecić .Pomożecie??? |
|
xevuel |
» 2012-05-04 12:10:09 LPSTR jest równe char*. Możesz użyć zapisu ( char * ) zmienna , a w większości przypadków wystarczy po prostu podać nazwę zmiennej. Jeśli masz LP WSTR, użyj tej funkcji: [MSDN] WideCharToMultiByte. I nie myl tych dwóch typów, bo to co innego. W temacie masz LPWSTR, w kodzie LPSTR... LPWSTR się używa, jeżeli masz w kodzie #define UNICODE , czy jakoś tak. |
|
RayTango19 Temat założony przez niniejszego użytkownika |
» 2012-05-04 12:43:12 rzeczywiście pomyliłem. Robie na LPWSTR ,spróbuje tak jak mówisz.... ..no dobra tylko jak tego użyć to jest trochę pogmatwane |
|
Admixior |
» 2012-05-04 12:45:50 BTW: Jeżeli chcesz od razu chcesz zrobić coś w char (np pobrać nazwę okna) to wystarczy dodać A do końca funkcji: GetWindowTextA(...)
Konwersje wtedy są nie potrzebne. |
|
RayTango19 Temat założony przez niniejszego użytkownika |
» 2012-05-04 13:11:43 To powiedz mi co dać do drugiego parametru GetWindowTextA() podać??? i czym będzie wartość int np int a =GetWindowTextA() ,do czego będzie służyć??? |
|
xevuel |
» 2012-05-04 13:13:15 |
|
Admixior |
» 2012-05-04 13:18:05 @RayTango: Wszystko jest to samo tylko w drugim parametrze zamiast podawać miejsce zarezerwowane na wchar_t* to podajesz na char* A zwracać będzie tak samo liczb znaków skopiowanych do tego miejsca. |
|
RayTango19 Temat założony przez niniejszego użytkownika |
» 2012-05-04 14:43:06 Dzięki Wam wszystkim utkwiłem na tym wczoraj ,teraz mogę pracować dalej.Już mi coś rysuje mój program.Dziękuje raz jeszcze temat zamykam . |
|
« 1 » |