设置一个等于int和cout的字节

时间:2014-06-09 23:52:02

标签: c++ byte

所以我理解C ++将一个字节定义为typedef unsigned char。但是我不能完全理解为什么在设置一个等于int的字节变量后,它会像一个笑脸一样......

#include <iostream>
#include <Windows.h>
using namespace std;

int main(){
    int x = 1;
    byte y = x;
    cout << y;
}

我确定这有一个简单的解释,但我似乎无法找到它。 unicode OR UTF8的第一个字符是否设置了笑脸?

1 个答案:

答案 0 :(得分:3)

您必须使用Windows。代码为1的字符是Code Page 437中的笑脸,即命令窗口使用的笑脸。代码点031与Unicode中的可打印字符不对应。

是的,byte通常定义为unsigned char。当您向char发送cout变量(已签名或未签名)时,它会输出一个字符,而不是一个数字。