Wie kann ich die Byte-Größe von std :: wstring bekommen?

8

Ich verwende std :: wstring als meine Unicode-Stil-Zeichenfolge. Jetzt will ich das bekommen Bytegröße eines wstring. Wenn ich size () Methode von wstring verwende, bekomme ich nur die Gesamtzahl der Zeichen in meinem wstring. Aber das Byte sollte Größe () * 2 sein. Gibt es eine offizielle Möglichkeit, diese Bytegröße zu erhalten? Ich möchte nicht verwenden Größe () * 2 in meinem Programm .....

Ich möchte in RegSetValueExW als letzten Parameter verwenden.

    
Hooch 14.02.2012, 14:36
quelle

4 Antworten

13

Verwenden Sie str.size() * sizeof(wchar_t) oder gleichwertig.

Tatsächlich kann ich an keine andere Plattform neben Windows denken, die 2-byte wchar_t hat, 4 Bytes sind viel häufiger.

    
Dietrich Epp 14.02.2012, 14:40
quelle
7

Warum nicht:

%Vor%

Oder:

%Vor%     
Ghassen Hamrouni 14.02.2012 14:48
quelle
1
%Vor%     
ZDF 22.12.2015 22:10
quelle
-3

Sie können wcslen function

verwenden

MSDN-Verknüpfung: Ссылка

Linux: Ссылка

    
Yodo 15.02.2012 16:24
quelle

Tags und Links