我使用std::wstring
作为我的Unicode样式字符串。现在我想得到
wstring
的字节大小。
如果我使用size()
的{{1}}方法,我只会获得字符总数
在我的wstring
。但该字节应为size()* 2。
有没有官方的方法来获得这个字节大小?我不想用
size()* 2在我的程序中.....
我想在wstring
中使用最后一个参数。
答案 0 :(得分:16)
使用str.size() * sizeof(wchar_t)
或同等效果。
事实上,除了Windows之外,我想不出任何其他平台有2字节wchar_t
,4字节更常见。
答案 1 :(得分:8)
为什么不:
( str.size() * sizeof(wchar_t) ) ;
或者:
( str.size() * sizeof(std::wstring::traits_type::char_type) ) ;
答案 2 :(得分:1)
std::wstring s = L"Howdy, world!";
//...
std::size_t bytes_count = s.size() * sizeof s[0];
答案 3 :(得分:-3)
您可以使用wcslen
功能
MSDN链接:http://msdn.microsoft.com/en-us/library/78zh94ax.aspx