【发布时间】:2015-11-05 00:57:44
【问题描述】:
我正在使用 Windows 10 上的 Visual Studio Express 2013 使用 c++ 编写扑克游戏。当我使用以下代码将花色分配给我的牌时,控制台会显示所有问号来代替花色。
void printHand(Card hand[])
{
const string SUIT = "\3\4\5\6";
const string RANK = "23456789TJQKA";
cout << "Your hand is: ";
for (int i = 0; i < SIZE; i++)
{
cout << RANK[hand[i].ranks] << SUIT[hand[i].suits] << " ";
}
cout << endl;
}
当我将西装更改为其他字符时,我得到了正确的字符,例如问号、冒号……当我运行 for 循环以显示所有 Ascii 字符时,前 32 个字符显示为控制字符,就像它无法识别一样字体。
我的问题是这是因为 Visual Studio 2013 Express、Windows 10 还是我的机器。
【问题讨论】:
-
是什么让您认为
\3编码西装?您期望这会奏效的原因是什么? -
字符代码 3 是心脏的“OEM”代码。
-
在命令窗口中尝试不同的字体。您可以通过输入
echo进行测试,然后按住控制键和D 键(这将显示为echo ^D)然后按回车键。您应该看到菱形符号。如果不是,请更改命令窗口上的属性并选择不同的字体。 -
echo 不在 C++ 中,但我对它进行了计算,它显示 ^D,而不是菱形。我的控制台只有三个字体选项,这就是它在所有三个中的显示方式。
标签: c++ visual-studio-2013 ascii windows-10