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

Hooch picture Hooch · Feb 14, 2012 · Viewed 15.5k times · Source

I am using std::wstring as my Unicode style string. Now I want to get the byte size of a wstring. If I use size() method of wstring, I just get the total number of chars in my wstring. But the byte should be size() * 2. Is there an official way to get this byte size? I don't want to use size() * 2 in my program.....

I want to use in RegSetValueExW as last parameter.

Answer

Dietrich Epp picture Dietrich Epp · Feb 14, 2012

Use str.size() * sizeof(wchar_t) or equivalent.

In fact, I can't think of any other platform besides Windows that has 2-byte wchar_t, 4 bytes is far more common.