У меня есть файл с именем input.in. Мне нужно прочитать число и сохранить его в переменной без знака. Я читаю число и распечатываю содержимое переменной на экране и вижу, что это правда (печатает 1). Тем не менее, оператор if не выполняется. Он печатает False на стандартный вывод. Почему это происходит? Как я могу сохранить это число в переменной без знака?
Файл input.in:
asus@ubuntu:~/Desktop$ cat input.in
1
Я работаю в Ubuntu. sizeof (без знака) = 1
#include <fstream>
#include <iostream>
using namespace std;
int main(){
unsigned char ucbuffer;
fstream in;
in.open("input.in",ios::binary | ios::in);
in.read((char*)&ucbuffer,1);
cout << ucbuffer << endl;
if (ucbuffer==1) cout << "True" << endl;
else cout << "False" << endl;
return 0;
}