다음을 통해 공유


mbsrtowcs

멀티 바이트 문자 문자열을 해당 와이드 문자 문자열로 변환 합니다.보다 안전한 버전의이 함수를 사용할 수 있습니다. see mbsrtowcs.

size_t mbsrtowcs(
   wchar_t *wcstr,
   const char **mbstr,
   sizeof count,
   mbstate_t *mbstate
);
template <size_t size>
size_t mbsrtowcs(
   wchar_t (&wcstr)[size],
   const char **mbstr,
   sizeof count,
   mbstate_t *mbstate
); // C++ only

매개 변수

  • [out] wcstr
    그 결과 와이드 문자열 주소 위치 변환.

  • [in] mbstr
    간접적으로 포인트 변환 하는 멀티 바이트 문자 문자열의 위치입니다.

  • [in] count
    변환할 문자의 수입니다.

  • [in] mbstate
    에 대 한 포인터를 mbstate_t 변환 상태 개체입니다.

반환 값

오류가 발생 하면 null 단어 (있는 경우), 그렇지 않으면-1 종료 null을 포함 하지 않은 변환 했습니다 단어의 개수를 반환 합니다.

설명

mbsrtowcs 함수는 문자열에 포함 된 지정 된 변환 상태에서를 시작 합니다. 멀티 바이트 문자 변환 mbstate에서 가리키는 값 간접에서 mbstr, 주소에 wcstr.때까지 각 문자에 대 한 변환을 계속 합니다: 비 해당 문자가 있는 경우 멀티 바이트 문자 null을 발생 한 후 나 다음 문자 포함 된 한도 초과 할 때 count.경우 mbsrtowcs 멀티 바이트 null 문자 ('\ 0')를 하기 전 또는 때 발견 한 count 발생 하면이 변환 하면 문자 및 정지 종료 16 비트 null로.

와이드 문자열에 따라서 wcstr 경우에 null로 끝나는 mbsrtowcs 멀티 바이트 null 문자를 변환 하는 동안 발생 합니다.시퀀스 가리키는 경우 mbstr 및 wcstr 겹치는 동작을 mbsrtowcs 는 정의 되지 않습니다.mbsrtowcs현재 로캘 LC_TYPE 범주별으로 영향을 받습니다.

mbsrtowcs 다른 함수에서 mbstowcs, _mbstowcs_l 를 재시작 하면 됩니다.변환 상태 저장 됩니다 mbstate 같은 또는 다른 다시 시작 함수 호출에 대 한.혼합 가지가 함수를 사용 하는 경우 결과가 정의 되지 않습니다.예를 들어, 응용 프로그램 사용 mbsrlen 대신 mbslen, 후속 호출 하는 경우 mbsrtowcs 대신 사용 처mbstowcs.

경우는 wcstr 인수는 NULL, mbsrtombs 대상 문자열의 단어에서 필요한 크기를 반환 합니다.경우 mbstate null이 내부 mbstate_t 상태 변환이 사용 됩니다.경우 문자 시퀀스 wchar 해당 멀티 바이트 되지 않은 문자 표현 되는-1이 반환 하는 errno 으로 설정 EILSEQ.

경우 mbstr 입니다 NULL, 설명에 따라 잘못 된 매개 변수 처리기가 호출 매개 변수 유효성 검사.실행을 계속 수 있으면이 함수는 설정 errno 에 EINVAL 및-1을 반환 합니다.

C + +에서이 함수는 새, 보안 대응이 함수를 호출 하는 템플릿 오버 로드가 됩니다.자세한 내용은 보안 템플릿 오버 로드를 참조하십시오.

예외

mbsrtowcs 함수는 다중 스레드 안전 수 없습니다 현재 스레드에서 함수를 호출 하는 경우 setlocale 이 함수를 실행 하는 동안 하는 mbstate null이 있습니다.

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출할 수 있습니다 PInvoke. 자세한 내용은 플랫폼 호출 예제.

요구 사항

루틴

필수 헤더

mbsrtowcs

<wchar.h>

참고 항목

참조

데이터 변환

로캘

멀티 바이트 문자 시퀀스로 해석

mbrtowc

mbtowc, _mbtowc_l

mbstowcs, _mbstowcs_l

mbsinit