codecvt::length
Určuje, kolik bajts z dané číselné řady vnějších bajtproduktu s ne více než zadaný počet vnitřní CharTypes a vrátí tento počet bajts.
int length(
const StateType& _State,
const Byte* _First1,
const Byte* _Last1,
size_t _Len2
) const;
Parametry
_State
Stav převodu, který je zachována mezi volání funkce člena._First1
Ukazatel na začátek sekvence vnější._Last1
Ukazatel na konci sekvence vnější._Len2
Maximální počet bajtů, které může být vrácen členské funkce.
Vrácená hodnota
Celé číslo představující počet převodů není větší než maximální počet _Len2, definice externího zdroje sekvencí na [_First1, _Last1).
Poznámky
Členské funkce vrátí do_length(_State, _First1, _Last1, _Len2).
Příklad
// codecvt_length.cpp
// compile with: /EHsc
#define _INTL
#include <locale>
#include <iostream>
using namespace std;
#define LEN 90
int main( )
{
char* pszExt = "This is the string whose length is to be measured!";
mbstate_t state = {0};
locale loc("C");//English_Britain");//German_Germany
int res = use_facet<codecvt<wchar_t, char, mbstate_t> >
( loc ).length( state,
pszExt, &pszExt[strlen(pszExt)], LEN );
cout << "The length of the string is: ";
wcout << res;
cout << "." << endl;
exit(-1);
}
Požadavky
Záhlaví: <locale>
Obor názvů: std