私は OLECHAR* を持っていて、そこから文字列を作成するために CHAR* に変換したいのですが、それを行う方法が見つかりませんでした。
OLECHAR は通常の char ですか? それのアイデアはありませんでした。
前もってありがとう、ギャル。
OLECHAR
文字列ですwchar_t
。The Complete Guide to C++ Strings, Part II - String Wrapper Classes を読むことをお勧めします。
OLECHAR*
Unicode (UTF-16)wchar_t
文字列です。文字列に変換する場合CHAR*
は、変換に使用する特定のエンコーディングを明確にする必要があります。
たとえば、UTF-16 から UTF-8 (非損失変換) に変換したい場合、UTF-8 文字列をchar*
/に格納できますstd::string
(私は、C++ で生のポインターではなく堅牢な文字列クラスを使用することを好みます)。コード)。
変換を実行するには、WideCharToMultiByte()
Win32 API を使用できます。CP_UTF8
UTF-16 から UTF-8 に変換する場合は、「コード ページ」の値を使用できます。(損失の可能性がある) "ANSI" 変換の場合はCP_ACP
、 などを使用できます。
(前述の Win32 API のような便利な ATL ラッパーもありますがCW2A
、これらのラッパーの VC6 バージョンで利用できる機能のレベルはわかりません。)