私は 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_UTF8UTF-16 から UTF-8 に変換する場合は、「コード ページ」の値を使用できます。(損失の可能性がある) "ANSI" 変換の場合はCP_ACP、 などを使用できます。
(前述の Win32 API のような便利な ATL ラッパーもありますがCW2A、これらのラッパーの VC6 バージョンで利用できる機能のレベルはわかりません。)