Namespaces
Variants

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

From cppreference.net
Défini dans l'en-tête <locale>
std:: size_t converti ( ) const noexcept ;

Retourne le nombre de caractères source qui ont été traités avec succès lors du dernier appel from_bytes() ou to_bytes() .

Table des matières

Valeur de retour

cvtcount

Exemple

#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';
}

Sortie :

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

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Appliqué à Comportement publié Comportement correct
LWG 2174 C++11 wstring_convert::converted n'était pas requis d'être noexcept requis

Voir aussi

convertit une chaîne large en une chaîne d'octets
(fonction membre publique)
convertit une chaîne d'octets en une chaîne large
(fonction membre publique)