17

我正在使用std::wstring我的 Unicode 样式字符串。现在我想获取 a 的字节大小wstring。如果我使用size()的方法wstring,我只会得到我的wstring. 但是字节应该是 size() * 2。有没有官方的方法来获取这个字节大小?我不想在我的程序中使用 size() * 2 .....

我想使用 inRegSetValueExW作为最后一个参数。

4

4 回答 4

21

使用str.size() * sizeof(wchar_t)或等效。

事实上,我想不出除了 Windows 之外的任何其他平台 2-byte wchar_t, 4 bytes 更为常见。

于 2012-02-14T14:40:22.197 回答
9

为什么不 :

( str.size() * sizeof(wchar_t) ) ;

或者 :

( str.size() * sizeof(std::wstring::traits_type::char_type) ) ;
于 2012-02-14T14:48:00.663 回答
2
std::wstring s = L"Howdy, world!";
//...
std::size_t bytes_count = s.size() * sizeof s[0];
于 2015-12-22T22:10:13.647 回答
-3

你可以使用wcslen函数

MSDN 链接:http: //msdn.microsoft.com/en-us/library/78zh94ax.aspx

Linux: http: //linux.die.net/man/3/wcslen

于 2012-02-15T16:24:25.203 回答