2

日本語の文字列を として使用しておりwchar_t、それを に変換する必要がありchar*ます。データを失うことなく変換wchar_t*する方法または関数はありますか?char*

4

3 に答える 3

8

「私は文字列を持っている」と言うだけでは十分ではありませんwchar_t文字列の文字がどのエンコーディングであるかも知っている必要があります。これはおそらくUTF-16ですが、確実に知る必要があります。

「に転向したい」と言うだけでは不十分ですchar繰り返しになりますが、文字がどのエンコーディングで表されるかを決定する必要があります。JIS?Shift-JIS?EUC?UTF-8?別のエンコーディング?

上記の2つの質問に対する答えがわかっている場合は、を使用して問題なく変換を行うことができますWideCharToMultiByte

于 2011-04-11T12:08:02.953 に答える
2

必要なWideCharToMultiByte日本語マルチバイト エンコーディングのコード ページ エンコーディング識別子を呼び出して渡す必要があります。その機能については、MDSN を参照してください。Windows では、ローカル マルチバイト セットは、ShiftJIS の MS バリエーションである CP932 です。ただし、UTF-8 を必要とする人に送信したい場合もあるでしょう。

于 2011-04-11T12:10:25.820 に答える
2

最初に行う必要があるのは、UTF-8 や UTF-16 などの文字列エンコーディングを選択することです。次に、libiconvまたは他の同様の文字列エンコーディング ライブラリwchar_t[]を介して選択したエンコーディングで文字列をエンコードします。

于 2011-04-11T07:18:16.117 に答える