_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

지정한 개수 내에서 문자 또는 바이트 수를 반환합니다.

Important

_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt_mbsnccnt_l는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다. 자세한 내용은 유니버설 Windows 플랫폼 앱에서 지원되지 않는 CRT 함수를 참조하세요.

구문

size_t _strncnt(
   const char *str,
   size_t count
);
size_t _wcsncnt(
   const wchar_t *str,
   size_t count
);
size_t _mbsnbcnt(
   const unsigned char *str,
   size_t count
);
size_t _mbsnbcnt_l(
   const unsigned char *str,
   size_t count,
   _locale_t locale
);
size_t _mbsnccnt(
   const unsigned char *str,
   size_t count
);
size_t _mbsnccnt_l(
   const unsigned char *str,
   size_t count,
   _locale_t locale
);

매개 변수

str
검사할 문자열입니다.

count
str에서 검사할 문자 또는 바이트의 수입니다.

locale
사용할 로캘입니다.

반환 값

_mbsnbcnt_mbsnbcnt_lstr의 멀티바이트 문자 중 처음 count개에서 발견되는 바이트 수를 반환합니다. _mbsnccnt_mbsnccnt_lstr의 처음 count바이트에서 발견되는 문자 수를 반환합니다. 검사를 str 완료하기 전에 null 문자가 발견되면 null 문자 앞에 있는 바이트 또는 문자 수를 반환합니다. strcount자 또는 바이트보다 작으면 문자열에 포함된 문자 또는 바이트의 수를 반환합니다. count가 0보다 작으면 0을 반환합니다. 이전 버전에서는 이러한 함수의 반환 값이 size_t가 아닌 int 형식이었습니다.

_strncnt는 싱글바이트 문자열 str의 처음 count바이트에 있는 문자 수를 반환합니다. _wcsncnt는 와이드 문자열 str의 처음 count개 와이드 문자에 있는 문자 수를 반환합니다.

설명

_mbsnbcnt_mbsnbcnt_lstr의 멀티바이트 문자 중 처음 count개에서 발견되는 바이트 수를 계산합니다. _mbsnbcnt_mbsnbcnt_lmtob를 대체하며, mtob 대신 이러한 함수를 사용해야 합니다.

_mbsnccnt_mbsnccnt_lstr의 처음 count바이트에서 발견되는 문자 수를 계산합니다. _mbsnccnt_l 더블 바이트 문자의 두 번째 바이트에서 null 문자를 발견하면 _mbsnccnt 첫 번째 바이트도 null로 간주되며 반환된 개수 값에 포함되지 않습니다. _mbsnccnt_mbsnccnt_lbtom를 대체하며, btom 대신 이러한 함수를 사용해야 합니다.

포인터이거나 0인 경우 str 이러한 함수는 count 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출하고, 설정EINVAL되며, errno 함수는 0을 반환합니다.NULL

출력 값은 로캘의 LC_CTYPE 범주 설정 설정의 영향을 받습니다. 자세한 내용은 setlocale를 참조하세요. _l 접미사가 없는 이러한 함수 버전은 이 로캘 종속 동작에 현재 로캘을 사용하며, _l 접미사가 있는 버전은 전달된 로캘 매개 변수를 대신 사용하는 경우를 제외하고는 동일합니다. 자세한 내용은 Locale을 참조하세요.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT의 전역 상태를 참조하세요.

일반 텍스트 루틴 매핑

루틴에서 반환된 값 _UNICODE 정의 _MBCS 되지 않음 _MBCS 정의 _UNICODE 정의
_tcsnbcnt _strncnt _mbsnbcnt _wcsncnt
_tcsnccnt _strncnt _mbsnbcnt 해당 없음
_wcsncnt 해당 없음 해당 없음 _mbsnbcnt
_wcsncnt 해당 없음 해당 없음 _mbsnccnt
해당 없음 해당 없음 _mbsnbcnt_l _mbsnccnt_l

요구 사항

루틴에서 반환된 값 필수 헤더
_mbsnbcnt <mbstring.h>
_mbsnbcnt_l <mbstring.h>
_mbsnccnt <mbstring.h>
_mbsnccnt_l <mbstring.h>
_strncnt <tchar.h>
_wcsncnt <tchar.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

예시

// crt_mbsnbcnt.c

#include  <mbstring.h>
#include  <stdio.h>

int main( void )
{
   unsigned char str[] = "This is a multibyte-character string.";
   unsigned int char_count, byte_count;
   char_count = _mbsnccnt( str, 10 );
   byte_count = _mbsnbcnt( str, 10 );
   if ( byte_count - char_count )
      printf( "The first 10 characters contain %d multibyte characters\n", char_count );
   else
      printf( "The first 10 characters are single-byte.\n");
}

출력

The first 10 characters are single-byte.

참고 항목

문자열 조작
Locale
멀티바이트 문자 시퀀스 해석
_mbsnbcat, _mbsnbcat_l