std::codecvt<InternT,ExternT,StateT>:: encoding, do_encoding
|
헤더 파일에 정의됨
<locale>
|
||
| (1) | ||
|
public
:
int encoding ( ) const throw ( ) ; |
(C++11까지) | |
|
public
:
int encoding ( ) const noexcept ; |
(C++11부터) | |
| (2) | ||
|
protected
:
virtual int do_encoding ( ) const throw ( ) ; |
(C++11까지) | |
|
protected
:
virtual int do_encoding ( ) const noexcept ; |
(C++11부터) | |
do_encoding
멤버 함수를 호출합니다.
반환값
하나의
internT
문자에 대응하는
externT
문자의 정확한 개수 (상수일 경우).
0
개수가 가변적일 경우,
-
1
인코딩이 상태에 의존적일 경우.
비변환 특수화 std:: codecvt < char , char , std:: mbstate_t > 는 1 을 반환합니다.
예제
#include <iostream> #include <locale> int main() { std::cout << "en_US.utf8 is a variable-length encoding, encoding() returns " << std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t>>( std::locale("en_US.utf8") ).encoding() << '\n'; std::cout << "zh_CN.gb18030 is also variable-length, encoding() == " << std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t>>( std::locale("zh_CN.gb18030") ).encoding() << '\n'; std::cout << "ru_RU.koi8r is a single-byte encoding, encoding() == " << std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t>>( std::locale("ru_RU.koi8r") ).encoding() << '\n'; }
출력:
en_US.utf8 is a variable-length encoding, encoding() returns 0 zh_CN.gb18030 is also variable-length, encoding() == 0 ru_RU.koi8r is a single-byte encoding, encoding() == 1
참고 항목
|
MB_CUR_MAX
|
현재 C 로캘에서 멀티바이트 문자의 최대 바이트 수
(매크로 변수) |
|
[virtual]
|
단일
InternT
문자로 변환될 수 있는 최대
ExternT
문자 수를 반환
(가상 protected 멤버 함수) |