C 如何在Windows控制台中以红色和黑色显示这些卡和符号?

C 如何在Windows控制台中以红色和黑色显示这些卡和符号?,c,windows,windows-console,C,Windows,Windows Console,我有这套卡片套装 char *suits[4] = {"♥","♦","♣","♠"}; 为了能够在Windows控制台中看到它们,我必须编写: SetConsoleOutputCP(65001); 有没有办法为这些西装定颜色 具体来说,红色代表♥ 及♦, 和黑色♣ 及♠. 由于PowerShell已标记,因此您可以使用以下方法将这些带有颜色的符号打印到控制台: 在cmd shell中运行此命令,只意味着调用Po

我有这套卡片套装

char *suits[4] = {"♥","♦","♣","♠"};
为了能够在Windows控制台中看到它们,我必须编写:

SetConsoleOutputCP(65001);
有没有办法为这些西装定颜色


具体来说,红色代表♥ 及♦, 和黑色♣ 及♠.

由于PowerShell已标记,因此您可以使用以下方法将这些带有颜色的符号打印到控制台:

在cmd shell中运行此命令,只意味着调用PowerShell.exe来运行以下代码:

powershell.exe -command "$suits = '♥','♦','♣','♠'; Write-Host $($suits[0..1]) -ForegroundColor Red; Write-Host $($suits[2..3]) -ForegroundColor Black"

由于PowerShell已标记,因此您可以使用以下方式将这些带有颜色的符号打印到控制台:

在cmd shell中运行此命令,只意味着调用PowerShell.exe来运行以下代码:

powershell.exe -command "$suits = '♥','♦','♣','♠'; Write-Host $($suits[0..1]) -ForegroundColor Red; Write-Host $($suits[2..3]) -ForegroundColor Black"
试试这个! 您无法看到它们的原因是cmd控制台通常不支持杂项符号(这是Unicode标准中的特殊符号)。但是,如果直接在命令提示符下运行,则可以看到它们。您可以尝试使用此代码,也可以在此处阅读_setmode&&wprintf文档!试试这个! 您无法看到它们的原因是cmd控制台通常不支持杂项符号(这是Unicode标准中的特殊符号)。但是,如果直接在命令提示符下运行,则可以看到它们。您可以尝试使用此代码,也可以在此处阅读_setmode&&wprintf文档

  • 对于Powershell

  • 对于cmd

  • 对于Powershell

  • 对于cmd

以下是窗口文档,其中包含从左面板索引树中获得的更多一般信息。您要做的是使用字符属性。低于10的窗口不支持
cmd
中的颜色。谢谢@WeatherVane。你能告诉我应该用哪一种吗?@EugeneSh。低于10的Windows版本确实可以显示不同颜色的字符。以下是窗口文档,其中包含从左面板索引树中获得的更多一般信息。您要做的是使用字符属性。低于10的窗口不支持
cmd
中的颜色。谢谢@WeatherVane。你能告诉我应该用哪一种吗?@EugeneSh。低于10的Windows版本确实可以显示不同颜色的字符。PowerShell可能是出于混乱而被标记的。OP是用C写的,根据标签和使用
SetConsoleOutputCP
。我更新了标签,将其改为“windows控制台”。PowerShell的标签可能是出于混淆。OP是用C写的,根据标签和使用
SetConsoleOutputCP
。我更新了标签,将其更改为“windows控制台”。
$suits = [char]0x2665,[char]0x2666,[char]0x2663,[char]0x2660;
0..4|% {if ($_ -le 1){ 
    write-host $suits[$_] -ForegroundColor Red –NoNewline;
     } else { write-host $suits[$_] -ForegroundColor Black –NoNewline}}
powershell -nop -c $suits=[char]0x2665,[char]0x2666,[char]0x2663,[char]0x2660;0..4^|? ^{if ($_ -le 1) ^{write-host $suits[$_] -ForegroundColor Red -NoNewline^} else ^{write-host $suits[$_] -ForegroundColor Black -NoNewline^}^}