Konwersja int do char.

0

Witam. Mam uciążliwy problem z konwersją zmiennej int do char. Próbowałem wiele metod konwersji z internetu i niby tamte metody działały innym ale mi wyświetla krzaki ostatecznie. Czy ktoś wie co źle robię?

Przykład który mi m.in. nie działa:

int a = 5;
char b;
b = (int) a;


std::cout<<b<<std::endl;

0

Jakiego znaku spodziewasz się na ekranie rzucając na char wartość 5?
Do rzutowania bezpieczniej użyć static_cast.

W nawiasie powinno być char.

3

char i int to liczby. Nie potrzebujesz w tym przypadku żadnego jawnego rzutowania (chociaż sprawa się komplikuje jeśli wartość nie będzie się mieściła w typie docelowym). Jednak char jest traktowany specjalnie przez funkcje obsługujące wyjście/wejście, i jest traktowany jako znak o tej wartości. Na znakomitej większości systemów 5 nie jest znakiem drukowalnym, więc jego wypisywanie jest błędem.

2

Czy chodziło o to?

b = a + '0';

http://www.rapidtables.com/code/text/ascii-table.htm

0

Dzięki oto chodziło.

1 użytkowników online, w tym zalogowanych: 0, gości: 1