std::wstringUnicode スタイルの文字列として使用しています。今、私はのバイトサイズを取得したい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