【发布时间】:2012-11-28 01:57:02
【问题描述】:
我写了以下代码:
#include <iostream>
#include <iomanip>
#include <stdint.h>
using namespace std;
int main()
{
uint8_t c;
cin >> hex >> c;
cout << dec << c;
return 0;
}
但是当我输入c——十六进制表示12——输出也是c。我期待 12。后来我了解到:
uint8_t通常是unsigned char的类型定义。所以它实际上将c读取为ASCII 0x63。
是否有一个 1 字节的整数在执行 I/O 时表现为整数而不是字符?
【问题讨论】:
-
不,没有,真可惜