Namensräume
Varianten
Aktionen

std::codecvt::length, std::codecvt::do_length

Aus cppreference.com
< cpp‎ | locale‎ | codecvt

 
 
Lokalisierungen Bibliothek
Locales und Facetten
Original:
Locales and facets
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
locale
Buchstaben-Klassifikation
Original:
Character classification
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Conversions
Original:
Conversions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Facet Kategorie Basisklassen
Original:
Facet category base classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Facet Kategorien
Original:
Facet categories
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Locale-spezifische Facetten
Original:
Locale-specific facets
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Code-Konvertierung Facetten
Original:
Code conversion facets
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
codecvt_utf8(C++11)
codecvt_utf16(C++11)
C locale
Original:
C locale
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 
 
Defined in header <locale>
public:

int length( stateT& state,
            const externT* from,
            const externT* from_end,

            std::size_t max ) const
(1)
protected:

int do_length( stateT& state,
               const externT* from,
               const externT* from_end,

               std::size_t max ) const
(2)
1)
öffentliche Member-Funktion ruft die Member-Funktion do_length der am meisten abgeleiteten Klasse .
Original:
public member function, calls the member function do_length of the most derived class.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
2)
Versuche, die externT Zeichen aus dem Zeichensatz Array [from, from_end) definiert konvertieren, da anfängliche Wandlungspreis Zustand state auf höchstens max internT Zeichen und gibt die Anzahl der externT Zeichen, die eine solche Umwandlung würde verbrauchen. Ändert state, als ob durch die Ausführung do_in(state, from, from_end, from, to, to+max, to) für einige imaginäre [to, to+max) Ausgabepuffer .
Original:
attempts to convert the externT characters from the character array defined by [from, from_end), given initial conversion state state, to at most max internT characters, and returns the number of externT characters that such conversion would consume. Modifies state as if by executing do_in(state, from, from_end, from, to, to+max, to) for some imaginary [to, to+max) output buffer.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[Bearbeiten] Rückgabewert

Die Zahl der externT Zeichen, die verbraucht, wenn durch do_in() umgewandelt werden, bis entweder alle from_end-from Zeichen wurden verbraucht oder max internT Charaktere waren Produzent oder ein Konvertierungsfehler eingetreten wäre .
Original:
The number of externT characters that would be consumed if converted by do_in() until either all from_end-from characters were consumed or max internT characters were producer, or a conversion error occurred.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Die nicht-Converting-Spezialisierung std::codecvt<char, char, std::mbstate_t> kehrt std::min(max, from_end-from)
Original:
The non-converting specialization std::codecvt<char, char, std::mbstate_t> returns std::min(max, from_end-from)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[Bearbeiten] Beispiel

#include <locale>
#include <string>
#include <iostream>
int main()
{
    //  narrow multibyte encoding
    std::string s = "z\u00df\u6c34\U0001d10b"; // or u8"zß水𝄋"
                      // or "\x7a\xc3\x9f\xe6\xb0\xb4\xf0\x9d\x84\x8b";
    std::mbstate_t mb = std::mbstate_t();
    std::cout << "Only the first " <<
              std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t>>(
                    std::locale("en_US.utf8")
              ).length(mb, &s[0], &s[s.size()], 2)
              << " bytes out of " << s.size() << " would be consumed "
                 " to produce the first 2 characters\n";
}

Output:

Only the first 3 bytes out of 10 would be consumed to produce the first 2 characters

[Bearbeiten] Siehe auch

[virtuell]
wandelt eine Zeichenkette aus externT um Internt wie beim Lesen aus Datei
Original:
converts a string from externT to internT, such as when reading from file
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(virtuellen geschützten Member-Funktion) [edit]