Share via


wstring_convert 클래스

클래스 템플릿 wstring_convert 은 와이드 문자열과 바이트 문자열 간의 변환을 수행합니다.

구문

template <class Codecvt, class Elem = wchar_t>
class wstring_convert

매개 변수

Codecvt
변환 개체를 나타내는 locale 패싯입니다.

Elem
와이드 문자 요소 형식입니다.

설명

클래스 템플릿은 클래스의 와이드 문자열 개체와 클래스 std::basic_string<Elem> 의 바이트 문자열 개체(라고도 함std::string) 간의 변환을 제어하는 개체를 설명합니다 std::basic_string<char> . 클래스 템플릿은 형식 wide_string 을 정의하고 byte_string 이러한 두 형식의 동의어로 정의합니다. Elem 값(wide_string 개체에 저장) 시퀀스와 멀티바이트 시퀀스(byte_string 개체에 저장) 간의 변환은 표준 코드 변환 패싯 std::codecvt<Elem, char, std::mbstate_t>의 요구 사항을 충족하는 Codecvt<Elem, char, std::mbstate_t> 클래스의 개체에 의해 수행됩니다.

이 클래스 템플릿의 개체는 다음을 저장합니다.

  • 오류 발생 시 표시할 바이트 문자열

  • 오류 발생 시 표시할 와이드 문자열

  • 할당된 변환 개체에 대한 포인터(wbuffer_convert 개체가 제거될 때 해제됨)

  • state_type 형식의 변환 상태 개체

  • 변환 개수

생성자

생성자 Description
wstring_convert wstring_convert 형식의 개체를 생성합니다.

Typedef

형식 이름 설명
byte_string 바이트 문자열을 나타내는 형식입니다.
wide_string 와이드 문자열을 나타내는 형식입니다.
state_type 변환 상태를 나타내는 형식입니다.
int_type 정수를 나타내는 형식입니다.

멤버 함수

멤버 함수 설명
from_bytes 바이트 문자열을 와이드 문자열로 변환합니다.
to_bytes 와이드 문자열을 바이트 문자열로 변환합니다.
converted 성공적인 변환 수를 반환합니다.
상태 변환의 상태를 나타내는 개체를 반환합니다.

요구 사항

헤더:<로캘>

네임스페이스: std

wstring_convert::byte_string

바이트 문자열을 나타내는 형식입니다.

typedef std::basic_string<char> byte_string;

설명

이 형식은 std::basic_string<char>의 동의어입니다.

wstring_convert::converted

성공적인 변환 수를 반환합니다.

size_t converted() const;

Return Value

성공적인 변환 수입니다.

설명

성공적인 변환 수가 변환 개수 개체에 저장됩니다.

wstring_convert::from_bytes

바이트 문자열을 와이드 문자열로 변환합니다.

wide_string from_bytes(char Byte);
wide_string from_bytes(const char* ptr);
wide_string from_bytes(const byte_string& Bstr);
wide_string from_bytes(const char* first, const char* last);

매개 변수

Byte
변환할 단일 요소 바이트 시퀀스입니다.

ptr
변환할 C 스타일의 null 종료 문자 시퀀스입니다.

Bstr
변환할 byte_string입니다.

first
변환할 문자 범위의 첫 문자입니다.

last
변환할 문자 범위의 마지막 문자입니다.

Return Value

변환에서 생성되는 와이드 문자열 개체입니다.

설명

변환 상태 개체가 명시적 값으로 생성되지 않은 경우 변환이 시작되기 전에 기본값(초기 변환 상태)으로 설정됩니다. 그렇지 않으면 변경되지 않습니다.

성공적으로 변환된 입력 요소 수는 변환 개수 개체에 저장됩니다. 변환 오류가 발생하지 않는 경우 멤버 함수는 변환된 와이드 문자열을 반환합니다. 오류가 발생하는 경우, 와이드 문자열 오류 메시지에 대한 이니셜라이저를 사용하여 생성된 개체라면 멤버 함수는 와이드 문자열 오류 메시지 개체를 반환합니다. 그렇지 않으면 구성원 함수가 range_error 클래스의 개체를 발생시킵니다.

wstring_convert::int_type

정수를 나타내는 형식입니다.

typedef typename wide_string::traits_type::int_type int_type;

설명

이 형식은 wide_string::traits_type::int_type의 동의어입니다.

wstring_convert::state

변환의 상태를 나타내는 개체를 반환합니다.

state_type state() const;

Return Value

변환 상태를 나타내는 변환 상태 개체입니다.

설명

wstring_convert::state_type

변환 상태를 나타내는 형식입니다.

typedef typename Codecvt::state_type state_type;

설명

형식은 변환 상태를 나타낼 수 있는 개체에 대해 설명합니다. 이 형식은 Codecvt::state_type의 동의어입니다.

wstring_convert::to_bytes

와이드 문자열을 바이트 문자열로 변환합니다.

byte_string to_bytes(Elem Char);
byte_string to_bytes(const Elem* Wptr);
byte_string to_bytes(const wide_string& Wstr);
byte_string to_bytes(const Elem* first, const Elem* last);

매개 변수

Char
변환할 와이드 문자입니다.

Wptr
변환할 null로 끝나는 시퀀스로, wptr에서 시작되며 C 스타일입니다.

Wstr
변환할 wide_string입니다.

first
변환할 요소의 범위에서 첫 번째 요소입니다.

last
변환할 요소의 범위에서 마지막 요소입니다.

설명

변환 상태 개체가 명시적 값으로 생성되지 않은 경우 변환이 시작되기 전에 기본값(초기 변환 상태)으로 설정됩니다. 그렇지 않으면 변경되지 않습니다.

성공적으로 변환된 입력 요소 수는 변환 개수 개체에 저장됩니다. 변환 오류가 발생하지 않는 경우 멤버 함수는 변환된 바이트 문자열을 반환합니다. 오류가 발생하는 경우, 바이트 문자열 오류 메시지에 대한 이니셜라이저를 사용하여 생성된 개체라면 멤버 함수는 바이트 문자열 오류 메시지 개체를 반환합니다. 그렇지 않으면 구성원 함수가 range_error 클래스의 개체를 발생시킵니다.

wstring_convert::wide_string

와이드 문자열을 나타내는 형식입니다.

typedef std::basic_string<Elem> wide_string;

설명

이 형식은 std::basic_string<Elem>의 동의어입니다.

wstring_convert::wstring_convert

wstring_convert 형식의 개체를 생성합니다.

wstring_convert(Codecvt *Pcvt = new Codecvt);
wstring_convert(Codecvt *Pcvt, state_type _State);
wstring_convert(const byte_string& _Berr, const wide_string& Werr = wide_string());

매개 변수

*Pcvt
변환을 수행할 Codecvt 형식의 개체입니다.

_상태
변환 상태를 나타내는 state_type 형식의 개체입니다.

_Berr
오류 시에 표시할 byte_string입니다.

Werr
오류 시에 표시할 wide_string입니다.

설명

첫 번째 생성자는 변환 개체Pcvt_arg를 저장합니다.