Namespaces
Variants

std::wstring_convert<Codecvt,Elem,Wide_alloc,Byte_alloc>:: converted

From cppreference.net
Definido en el encabezado <locale>
std:: size_t convertidos ( ) const noexcept ;

Devuelve el número de caracteres fuente que fueron procesados exitosamente por la más reciente from_bytes() o to_bytes() .

Contenidos

Valor de retorno

cvtcount

Ejemplo

#include <codecvt>
#include <iostream>
#include <locale>
#include <string>
int main()
{
    std::string utf8 = "z\u00df\u6c34\U0001d10b"; // or u8"zß水𝄋"
                   // or "\x7a\xc3\x9f\xe6\xb0\xb4\xf0\x9d\x84\x8b";
    std::cout << "original UTF-8 string size: " << utf8.size() << '\n';
    // the UTF-8 - UTF-32 standard conversion facet
    std::wstring_convert<std::codecvt_utf8<char32_t>, char32_t> cvt;
    // UTF-8 to UTF-32
    std::u32string utf32 = cvt.from_bytes(utf8);
    std::cout << "UTF-32 string size: " << utf32.size() << '\n';
    std::cout << "converted() == " << cvt.converted() << '\n';
    // UTF-32 to UTF-8
    utf8 = cvt.to_bytes(utf32);
    std::cout << "new UTF-8 string size: " << utf8.size() << '\n';
    std::cout << "converted() == " << cvt.converted() << '\n';
}

Salida:

original UTF-8 string size: 10
UTF-32 string size: 4
converted() == 10
new UTF-8 string size: 10
converted() == 4

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 2174 C++11 wstring_convert::converted no estaba requerido que fuera noexcept requerido

Véase también

convierte una cadena ancha en una cadena de bytes
(función miembro pública)
convierte una cadena de bytes en una cadena ancha
(función miembro pública)