2012-02-18 4 views
0

배열이 서명 숯불로 선언 및 범위 0x00-0xff의 값으로 초기화 및 COUT를 사용하여 인쇄 할 때, 나는 쓰레기 값을 가져 사용하는 방법에 대한 단일 바이트를 사용하여 아직 cout을 사용할 수 있을까요?쓰레기 값은 배열이 서명 숯불로 선언 할 때

+0

초기화 코드와 인쇄 코드를 모두 볼 수 있습니까? – Lefteris

+0

인쇄 할 수없는 문자를 인쇄하려고합니다. –

답변

3

std::cout 터미널로 전달되고, 그것은 어쨌든, 시도, 음 (문자 집합으로 표시되는 것 - 값이 사용중인 문자 세트의 유효한 인쇄 가능 문자 범위를 벗어납니다.

cout으로 출력 할 때 unsigned int으로 전송하십시오.

1

이러한 값은 가비지 값이 아닙니다. 그것들은 그 성격이 나타내는 것입니다. int로서 인쇄하려면 출력시 unsigned int 캐스트 : 그것이 unsigned char이기 때문에

cout << (unsigned int) some_char; 
2

문자 유형은 기본적으로 문자로 표시됩니다. 정수로 표시하려면 먼저 변환해야합니다.

unsigned char value = 42; 
std::cout << static_cast<unsigned int>(value);