如何在Windows 10中使用C ++输出低ASCII码?

问题描述 投票:0回答:1

我正在尝试为Windows 10上的C ++中的简单蛇游戏输出方向箭头,但是,使用此表作为参考:

ASCII reference

我只得到控制台中的这个小问号:

Tiny question mark

我想输出符号16、17、30和31。我不是程序员,所以这可能是一些基本错误,但是有些符号确实起作用,而另一些符号会导致上面的那个符号。

一个小例子:

void showSnake() {
    char snakeHead;
    snakeHead = 31;
    cout << snakeHead; //THIS SHOWS THE TINY QUESTION MARK
    snakeHead = 62;
    cout << snakeHead; //THIS SHOWS THE ">" SYMBOL
}
c++ windows ascii iostream
1个回答
0
投票

您应该使用Unicode,字符会有更多选择。

https://en.wikipedia.org/wiki/List_of_Unicode_characters上,我发现此符号'▶'看起来与您要使用的符号相似。

其unicode值为U+25BA,这意味着您可以在C ++中创建一个值为'\u25BA'的字符。

但是实际上,该值将超出char类型的范围,因此您必须使用宽字符(wchar)才能完成工作:

#include <iostream>
#include <clocale>

int main() {
     setlocale(LC_ALL, "");
     std::wcout << L'u\25BA';
}

setlocale()行是在默认语言环境不支持非ACSII输出(我的机器上不支持它的情况下。)>

© www.soinside.com 2019 - 2024. All rights reserved.