如何获取标准::wstring 的字节大小

How can I get the byte size of std::wstring?

本文关键字:wstring 字节 标准 何获取 获取      更新时间:2023-10-16

我正在使用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

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