У меня есть программа на C ++, которая читает из двоичного файла байт за байтом , а затем выводит его как символ на консоль.
После использования unsigned char
в качестве типа консоль напечатает его значение ascii, чего я не ожидал.
Как заставить его печатать символ вместо его значения ascii ?
Это выглядит примерно так:
/* ...... */
unsigned char crap;
crap = some_char[i];
cout << crap;
/* ...... */
EDIT (2): Еще раз извините, теперь я обнаружил воспроизводимую проблему. Вот она:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
unsigned char a;
a = 'A';
cout << (a > 31 ? a : '.');
}