codecvt::length
결정 얼마나 바이트외부의 지정 된 시퀀스에서 s 바이트s 생성 수의 내부 이상 없습니다 CharTypes 해당 개수를 반환 하 고 바이트s.
int length(
const StateType& _State,
const Byte* _First1,
const Byte* _Last1,
size_t _Len2
) const;
매개 변수
_State
멤버 함수 호출 간에 유지 되는 변환 상태입니다._First1
외부 시퀀스의 시작 부분에 대 한 포인터입니다._Last1
외부 시퀀스의 끝에 대 한 포인터입니다._Len2
멤버 함수에 의해 반환 될 수 있는 바이트의 최대 수.
반환 값
변환 보다 크지 않은 최대 개수를 나타내는 정수 _Len2, 외부 소스 시퀀스에 의해 정의 된 [_First1, _Last1).
설명
멤버 함수를 반환 합니다. do_length(_State, _First1, _Last1, _Len2).
예제
// 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);
}
요구 사항
헤더: <locale>
네임 스페이스: std