У меня была аналогичная проблема здесь , о которой я давно забыл. Разрешение этой проблемы с iostream's
cout
может быть выполнено следующим образом:
#include
#include
main() {
unsigned char a;
a=1;
printf("%d", a);
std::cout<< +a << std::endl;
return 0;
}
вместо того, чтобы вернуть его другому типу, если вы хотите cout
напечатать значение unsigned char
как напротив символа ascii
. Вам нужно promote
это.
Если вы заметили, что все, что я сделал, добавили +
до unsigned char
. Это унарное дополнение, которое будет способствовать unsigned char
, чтобы дать вам фактическое представление числа.
Пользователь Baum mit Augen отвечает за напоминание мне об этом решении.