SeaMonster131 Temat założony przez niniejszego użytkownika |
[C++, WinApi] Jak skonwertować int na char? » 2010-06-12 09:19:35 Powiedzmy że mam sobie zmienną int cos = 10; Chciałem ją wyświetlić: TextOut( kon, 50, 40, cos, 1 ); Ale tutaj to jeszcze bym musiał podać liczbę liter (cyfr), a ta liczba [10] będzie się zmieniać. Zrobiłem więc pole edycji: hEdit = CreateWindowEx( 0, WC_EDIT, cos, WS_CHILD + WS_VISIBLE + ES_READONLY, 50, 40, 200, 20, hwnd, 0, * hInst, 0 ); Ale tutaj wyskakuje mi błąd: \winapi\Gra\main.cpp||In function `LRESULT WndProc(HWND__*, UINT, WPARAM, LPARAM)':| \winapi\Gra\main.cpp|78|error: invalid conversion from `int' to `const CHAR*'| \winapi\Gra\main.cpp|78|error: initializing argument 3 of `HWND__* CreateWindowExA(DWORD, const CHAR*, const CHAR*, DWORD, int, int, int, int, HWND__*, HMENU__*, HINSTANCE__*, void*)'| ||=== Build finished: 2 errors, 0 warnings ===| Pomożecie mi? A może znacie jeszcze jakąś inną funkcje do wyświetlania tekstu i liczb? |
|
michalp |
» 2010-06-12 10:32:27 |
|
filipesq |
» 2010-06-12 11:04:18 Ewentualnie możesz też używać stringów: - Konwertujesz int na string (na forum jest jak to zrobić- ja pytałem) - Podczas podawania stringa jako parametr funkcji piszesz po nazwie stringa ".c_str()" - czyli zmieniasz string na contst char[]. |
|
SeaMonster131 Temat założony przez niniejszego użytkownika |
» 2010-06-12 11:31:50 @filipesq zrobiłem tak jak mówiłeś, ale wyskoczyły 2 błędy: \winapi\Gra\main.cpp||In function `LRESULT WndProc(HWND__*, UINT, WPARAM, LPARAM)':| \winapi\Gra\main.cpp|121|error: `c_str' has not been declared| \winapi\Gra\main.cpp|121|error: request for member of non-aggregate type before '(' token| ||=== Build finished: 2 errors, 0 warnings ===| Czyli te .c_str() nie jest zadeklarowane. To w jakiej to jest bibliotece? A fragmenty kodu tak wyglądają: int StringToInt( const std::string & text ) { std::istringstream ss( text ); int result; ss >> result; return result; } int cos = 50; cos = StringToInt( "14" ); TextOut( kon, 90, 40, cos.c_str(), 2 ); |
|
malan |
» 2010-06-12 11:41:23 Ty masz tu "zamienić" int -> char, a nie int -> int. 4 argumentem TextOut jest const char*, a nie int. |
|
michalp |
» 2010-06-12 11:41:24 Spójrz jeszcze raz na kod. Czy aby na pewno typ int miał metodę .c_str()? |
|
SeaMonster131 Temat założony przez niniejszego użytkownika |
» 2010-06-12 11:54:07 Nie no, nie wykombinuje. Męcze sie i mecze, ale nadal nie wiem gdzie jest błąd... Według mnie int zamienia sie na string, ale jeżeli piszecie że tak nie jest i program sie nie kompiluje to tak nie jest. Nie wiem... :/ |
|
michalp |
» 2010-06-12 11:57:23 Nie sądzę żebyś się zmęczył. To twój problem i tym masz go rozwiązać a nie brać kawałki kodu i próbować je sklejać. Gdybyś zobaczył link który ci podałem to byś miał mniej problemów bo wystarczy że użyjesz funkcji itoa. | Według mnie int zamienia sie na string, ale jeżeli piszecie że tak nie jest i program sie nie kompiluje to tak nie jest. |
int StringToInt( const std::string & text ) Jak ta funkcja się nazywa? Na jakiej podstawie uważasz, że ona konwertuje int -> std::string? Przecież wystarczy chwilę popatrzeć. Co ciężko? |
|
| « 1 » 2 |