2012-03-06 15 views
2

変数を(c)で作成し、その変数にUnicode文字を割り当て、その変数を印刷する方法を教えてください。私はおそらくここで何かを見逃しているだろうが、私はそれを解決することはできない。また、変数名に変数を含めることができますか?ユニコード文字を作成、割り当て、印刷する方法

int ttt x; x=1; tttx==ttt1;

これはそれについて移動するための方法ではないようですと、私は、そのコードがひどいことを知っているが、私は何をすべきでしょうか?

+0

トピックをオフにするには、StackOverflowで質問する必要があります。しかし、あなたがクリアする必要があるいくつかのこと:Unicodeは概念です。 UTF-8/UTF-16/UTF-32(および他のいくつかのwierdのもの)がエンコードされたフォーマットとして言語で実装されています。印刷ではどういう意味ですか?(ウィンドウ内に関連するコードポイントグリフを描くことを意味しますか?)エンコードされたUTF文字をストリームなどに印刷するにはどうすればいいですか? –

答えて

1

最初の2番目の質問に答えるには:いいえ、別の変数の名前に変数を含めることはできません。名前から値への柔軟なマッピングが必要な場合は、ハッシュマップがうまくいくはずです。 C++に切り替えることができる場合は、std::unordered_map<>を使用できます。 Cに固執する必要がある場合は、ハッシュマップを実装し、それとリンクするライブラリを見つける必要があります。 Googleには数多くの例がありますが、それに関連するいくつかのSO(Stackoverflow)に関する質問もあります。

主な質問:印刷する文字のUnicodeコードポイントが分かっている場合は、その文字をint32_tに割り当ててから、目的のエンコードに変換するのが最適です。

Unicodeにはさまざまなエンコードがあり、最も広く使用されているのはUTF-8です。これが必要な場合は、平文int32_tからUTF-8 charシーケンスへの変換は、変換frm UCS-4からUTF-8への変換と同じです。この変換のための関数を提供する多くのライブラリがあります。概要については、hereを参照してください。

関連する問題