Я новичок в C++ и, исходя из фона C#/Java, я чувствую себя как будто испорченный.C++ - Получение байта с консоли
То, что я пытаюсь достичь здесь, - это получить данные, вводимые пользователем в виде байта (unsigned char
), используя cin
.
#include <iostream>
using namespace std;
typedef unsigned char byte;
int main()
{
byte num = 0;
char exitKey = '0';
cout << "Type in a number between 0 and 255.\n";
cin >> num;
cout << "\nYour number multiplied by 2 is:\n" << (num * 2);
cin >> exitKey;
return 0;
}
Возвращаемое значение является ASCII десятичное значение символа я напечатал. Как я могу получить фактическое значение, рассматривая значение как число?
Справка приветствуется. Благодарю.
Используйте символ int или короткий тип вместо символа. – Sumeet
Вы можете использовать fread на stdin? – user3109672
Я бы предложил использовать 'fread'.try, используя этот оператор отладки:' printf ("% d \ n", "1"); 'может быть, это 49. Кажется, вы читали символ '1', а не число ' 1' . – LittleByBlue