std::wstring
Unicode スタイルの文字列として使用しています。今、私はのバイトサイズを取得したいwstring
. size()
のメソッドを使用するとwstring
、 の合計文字数を取得するだけですwstring
。しかし、バイトはsize() * 2である必要があります。このバイトサイズを取得する公式の方法はありますか? プログラムで size() * 2 を使用したくない.....
RegSetValueExW
最後のパラメーターとして使用したい。
str.size() * sizeof(wchar_t)
または同等のものを使用してください。
実際、Windows 以外に 2 バイトのプラットフォームは考えられませんwchar_t
。4 バイトの方がはるかに一般的です。
なぜだめですか :
( str.size() * sizeof(wchar_t) ) ;
または :
( str.size() * sizeof(std::wstring::traits_type::char_type) ) ;
std::wstring s = L"Howdy, world!";
//...
std::size_t bytes_count = s.size() * sizeof s[0];
wcslen
機能を使用できます
MSDN リンク: http://msdn.microsoft.com/en-us/library/78zh94ax.aspx