Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C/C++의 mbsrtowcs() 함수

<시간/>

이 기사에서는 C++ STL에서 std::mbsrtowcs() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.

std::mbsrtowcs()란 무엇입니까?

std::mbsrtowcs() 함수는 헤더 파일에 정의된 C++ STL의 내장 함수입니다. mbsrtowcs()는 첫 번째 바이트가 *src인 널 종료 멀티바이트 문자열을 와이드 문자 표현으로 변환한다는 것을 의미합니다. 이 함수는 변환에 따라 값을 반환합니다.

구문

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ß水