이 기사에서는 C++ STL에서 std::mbsrtowcs() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.
std::mbsrtowcs()란 무엇입니까?
std::mbsrtowcs() 함수는
구문
size_t mbsrtowcs( wchar_t* pwc, char** str, size_t n, mbstate_t* ps);
매개변수
이 함수는 다음 매개변수를 허용합니다. -
- 암호 − 출력을 저장할 위치에 대한 포인터입니다.
- 문자열 − 입력으로 사용되는 문자열입니다.
- n − 확인할 바이트 수입니다.
- ps − 멀티바이트 문자열을 해석할 때 상태 개체에 대한 포인터입니다.
반환 값
이 함수 반환 값은 다음 조건에 따라 다릅니다 -
- 0 - 변환해야 하는 str의 문자가 NULL인 경우 함수는 0을 반환합니다.
- 1…n− 문자열 *str에 변환되어 저장되는 null 끝 문자의 바이트 수
- -1 − errno가 EILSEQ로 설정되어 있는 변환 중 오류가 발생했을 때 발생합니다.
예시
#include네임스페이스 std;int main(){ setlocale(LC_ALL, "en_US.utf8"); const char* ch ="\u0777\u0755"; wchar_t arr[20]; mbstate_t 홀드 =mbstate_t(); 정수 최고 =10; int val =mbsrtowcs ( arr, &ch, 최고, &hold ); wcout < 출력
와이드 문자는 다음과 같습니다.예시
#include네임스페이스 std;int main() { setlocale(LC_ALL, "en_US.utf8"); const char* ch =u8"z\u00df\u6c34"; wchar_t arr[20]; mbstate_t 홀드 =mbstate_t(); 정수 최고 =10; int val =mbsrtowcs ( arr, &ch, 최고, &hold ); wcout < 출력
전체 와이드 문자:3Given 와이드 문자:zß水