std::codecvt::max_length, std::codecvt::do_max_length
Aus cppreference.com
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
definiert in Header <locale>
|
||
public: int max_length() const |
(1) | |
protected: int do_max_length() const |
(2) | |
öffentliche Member-Funktion ruft die Member-Funktion
do_max_length
der am meisten abgeleiteten Klasse .Original:
public member function, calls the member function
do_max_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.
You can help to correct and verify the translation. Click here for instructions.
2) returns the maximum value that do_length(state, from, from_end, 1) can return for any valid range [from, from_end)
and any valid state
.
Inhaltsverzeichnis |
[Bearbeiten] Rückgabewert
The maximum number of externT
characters that could be consumed if converted by do_in()
to produce one internT
character.
Die nicht-Converting-Spezialisierung std::codecvt<char, char, std::mbstate_t> kehrt 1
Original:
The non-converting specialization std::codecvt<char, char, std::mbstate_t> returns 1
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[Bearbeiten] Notes
If the encoding is state-dependent (encoding() == -1), then more than max_length()
external characters may be consumed to produce one internal character
[Bearbeiten] Ausnahmen
[Bearbeiten] Beispiel
#include <locale> #include <iostream> #include <codecvt> int main() { std::cout << "In codecvt_utf8, the longest multibyte character is " << std::codecvt_utf8<wchar_t>().max_length() << " bytes long\n"; std::cout << "In header-consuming codecvt_utf8, the longest multibyte character is " << std::codecvt_utf8<wchar_t, 0x10ffff, std::consume_header>().max_length() << " bytes long\n"; std::cout << "In this system's en_US.utf8, the longest multibyte character is " << std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t>>( std::locale("en_US.utf8") ).max_length() << " bytes long\n"; std::cout << "In this system's zh_CN.gb18030, the longest multibyte character is " << std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t>>( std::locale("zh_CN.gb18030") ).max_length() << " bytes long\n"; }
Output:
In codecvt_utf8, the longest multibyte character is 4 bytes long In header-consuming codecvt_utf8, the longest multibyte character is 7 bytes long In this system's en_US.utf8, the longest multibyte character is 6 bytes long In this system's zh_CN.gb18030, the longest multibyte character is 4 bytes long
[Bearbeiten] Siehe auch
MB_CUR_MAX |
maximale Anzahl von Bytes in einer Multibyte-Zeichen in der aktuellen C locale
(Makro-Variablen) Original: maximum number of bytes in a multibyte character in the current C locale (Makro-Variablen) The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[virtuell] |
gibt die Anzahl der externT Zeichen notwendig, um ein Internt Charakter zu produzieren, wenn konstant Original: returns the number of externT characters necessary to produce one internT character, if constant 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) |