私はカードゲームをしようとしていると私はとてもとしてのカードを印刷するには、実際のカードのスーツの記号を使用したい:
5♣Jは10♠Qを♦♥Visual Studio Cプログラム:カードスーツのシンボルを印刷するには?
問題は、私は、文字通りどのようにゼロアイデアを持っていますこれらのシンボルをプログラムで正常に印刷するようにコーディングします。
私はカードゲームをしようとしていると私はとてもとしてのカードを印刷するには、実際のカードのスーツの記号を使用したい:
5♣Jは10♠Qを♦♥Visual Studio Cプログラム:カードスーツのシンボルを印刷するには?
問題は、私は、文字通りどのようにゼロアイデアを持っていますこれらのシンボルをプログラムで正常に印刷するようにコーディングします。
これらのシンボルには、ユニコード文字をサポートするフォントとともに使用する必要があります。 This pageには、さまざまなスーツのユニコード文字コードが記載されています。彼らは以下のとおりです。
スペード= U + 2660、ハート= U + 2665、ダイヤモンド= U + 2666、ハート= U + 2663
これはあなたに黒のスーツを提供します。白いスーツのキャラクターもあります。
また、wchar_t
を使用して文字を表すことを確認する必要があります。char
では十分ではありません。また、出力を行うにはwprintfのような関数を使用してください。 "ルシーダコンソール"、次の作品に設定し、Windowsのコンソールフォントで
私はこれでかなり新しいので、これらのコマンドは一度も使用していません。私はwchar_t spade = U + 2660を試していてwprintfがあなたの言ったように印刷するが何も表示されない? –
リテラルフォームに格納されている文字列の場合、特別な型は必要ありません。少なくとも、私はすべての種類の非ASCII文字をC++ソースに貼り付け、コンパイラはUTF-8など何かを必要とするものに変換するようです。何もする必要はありません。 (有用であると言われているが、それらはUTF-8文字列クラスに変換され、GUIではなく端末でレンダリングされる) –
:
#include <stdio.h>
int main (void)
{
int i;
for(i=3; i<=6; i++)
printf("%c", i);
printf("\n");
return 0;
}
プログラムの出力: "Consolas" フォントと同様に
♥♦♣♠
。
私はこれを試しているが、ボックスを取得するだけですか? []、私はコンソールフォントをLucida Consoleに変更しました。 –
@RyanW:コンソールフォントが何かに設定されている可能性があります – sjsam
これは、完全なパスが 'C:\ Windows \ System32 \ cmd.exe 'である' cmd'を実行して取得したコンソールウィンドウから実行されます。 –
「ラスタフォント」をコンソールの「Lucida Console」などのユニコードフォントに変更してください。 –
あなたは試したことがありますか(つまり、ソースに貼り付けるだけです)、正しく表示されていませんか? –
だから私は、あなたが意味していたなら、tools-> options-> environment-> fonts and colors-> commandウインドウでフォントを変更しました。しかし、私が "\ x06"と言って印刷しようとすると、それはちょうど疑問符として現れます。 –