CString
a の内容を単純な「生の」シーケンス (配列) として「見たい」場合は、 method をBYTE
使用CString::GetString()
して最初の文字へのポインターを取得し、CString
次にキャストすることができconst BYTE*
ます。
CString str;
....
const BYTE* pb = reinterpret_cast<const BYTE*>(str.GetString());
wchar_t
シングルを一連の として「見たい」場合BYTE
は、そのアドレスを取得して、再度 にキャストできますconst BYTE*
。
wchar_t wch;
....
const BYTE* pb = reinterpret_cast<const BYTE*>(&wch);
しかし、Unicode UTF-16 から UTF-8 などの別のエンコーディングに変換したい場合は、次のような変換ヘルパーCW2A
を使用することができます。
CString strUtf16; // Assume UNICODE builds (the default since VS2005)
....
// Convert from UTF-16 to UTF-8
CW2A strUtf8( strUtf16, CP_UTF8 );
// Convert (cast) to const BYTE*
const BYTE* pb = reinterpret_cast<const BYTE*>( static_cast<const char*>(strUtf8) );