gpt4 book ai didi

c - 如何在C和Linux中打印黑桃、红心、方 block 等?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:23:12 25 4
gpt4 key购买 nike

所以我开始放置一个 char 数组char symbols[52] = { '\x03' , '\x04' 等。 ETC。)我第一次这样做时,它确实打印了红心、黑桃等。但是在将我的系统区域设置更改为韩语之后(idk,如果这是造成它的原因),它开始给我无关的奇怪符号用它。我还尝试在另一台计算机上执行此操作,它实际上正确地编译了符号。然而,然后我尝试将它移到 linux 上,它打印出带有 0 0 0 3 的奇怪方 block 。

有谁知道为什么会出现这些符号,或者是否有更好的方法来打印这些符号?

P.S.: 我在 Windows 中使用 Visual Studio,然后在 Linux 中使用 .c 代码

最佳答案

Linux系统通常使用UTF-8编码,其中:

  • ♠ = U+2660 = "\xE2\x99\xA0"
  • ♣ = U+2663 = "\xE2\x99\xA3"
  • ♥ = U+2665 = "\xE2\x99\xA5"
  • ♦ = U+2666 = "\xE2\x99\xA6"

编辑:不幸的是,Windows 命令提示符不支持 UTF-8,而是使用旧的 DOS 代码页。如果你想让你的程序跨平台工作,你必须这样做:

#if defined(_WIN32) || defined(__MSDOS__)
#define SPADE "\x06"
#define CLUB "\x05"
#define HEART "\x03"
#define DIAMOND "\x04"
#else
#define SPADE "\xE2\x99\xA0"
#define CLUB "\xE2\x99\xA3"
#define HEART "\xE2\x99\xA5"
#define DIAMOND "\xE2\x99\xA6"
#endif

关于c - 如何在C和Linux中打印黑桃、红心、方 block 等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27133508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com