C++ - 从控制台获取字节

标签 c++ char byte cin

我是 C++ 新手,有 C#/Java 背景,我觉得自己有点被宠坏了。

我在这里试图实现的是使用 cin 将用户输入的数据作为字节 (unsigned char)。

#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;
}

Example

返回的值是我输入的字符的 ASCII 十进制值。我怎样才能得到实际值,将该值视为数字?

感谢您的帮助。谢谢。

最佳答案

无论您使用什么类型别名,当使用 cin >> 读取时,一个字符始终是一个字符,并且将被作为一个字符读取。

您得到的值是 ASCII字符 '1' 的代码。

如果您想将其作为数字读取,请使用适当的数字数据类型,例如 int

关于C++ - 从控制台获取字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33142114/

相关文章:

c++ - 使用 read 从 stdin 读取

c++ - 存储单个字符

c - 显示指针减法

c++ - Boost.Intrusive Containers - 不同大小的元素

c++ - 从指针返回对象时意外的析构函数调用

C++ 根据条件初始化变量

c - C中的二维字符数组初始化

c# - 根据字节大小将列表分成批处理

go - 在 Golang 中过滤字节流的正确方法?

java - 如何将字节数组中的 37 位更改为现有值的所有补码