다음을 통해 공유


strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l

지정 된 문자 집합에서 문자에 대한 문자열을 검색합니다.

중요

_mbspbrk 와 _mbspbrk_l 는 Windows 런타임에서 실행되는 어플리케이션에서는 사용될 수 없습니다.자세한 내용은 /ZW에서 지원하지 않는 CRT 함수를 참조하십시오.

char *strpbrk(
   const char *str,
   const char *strCharSet 
); // C only
char *strpbrk(
   char *str,
   const char *strCharSet 
); // C++ only
const char *strpbrk(
   const char *str,
   const char *strCharSet 
); // C++ only
wchar_t *wcspbrk(
   const wchar_t *str,
   const wchar_t *strCharSet 
); // C only
wchar_t *wcspbrk(
   wchar_t *str,
   const wchar_t *strCharSet 
); // C++ only
const wchar_t *wcspbrk(
   const wchar_t *str,
   const wchar_t *strCharSet 
); // C++ only
unsigned char *_mbspbrk(
   const unsigned char *str,
   const unsigned char *strCharSet 
); // C only
unsigned char *_mbspbrk(
   unsigned char *str,
   const unsigned char *strCharSet 
); // C++ only
const unsigned char *_mbspbrk(
   const unsigned char *str,
   const unsigned char *strCharSet 
); // C++ only
unsigned char *_mbspbrk_l(
   const unsigned char *str,
   const unsigned char *strCharSet,
   _locale_t locale
); // C only
unsigned char *_mbspbrk_l(
   unsigned char *str,
   const unsigned char *strCharSet,
   _locale_t locale
); // C++ only
const unsigned char *_mbspbrk_l(
   const unsigned char *str,
   const unsigned char* strCharSet,
   _locale_t locale
); // C++ only

매개 변수

  • str
    검색할 Null 종료 문자열입니다.

  • strCharSet
    Null 종료 문자 집합입니다.

  • locale
    사용할 로캘입니다.

반환 값

두 개의 문자열 인수는 공통 문자가 없는 경우, str 또는 NULL 포인터에서 strCharSet 로부터 모든 문자의 첫번째 발생 포인터를 반환합니다.

설명

strpbrk 함수는 strCharSet 에서 문자 집합에 속하는 str 에서 문자의 첫번째 발생 하는 포인터를 반환합니다. 검색은 종료되는 null 문자를 포함 하지 않습니다.

wcspbrk 및 _mbspbrk 는 와이드 문자 및 strpbrk의 멀티 바이트 문자 버전입니다. wcspbrk의 인수 및 반환 값은 와이드 문자열이며, _mbspbrk는 멀티바이트 문자열입니다.

_mbspbrk 매개 변수의 유효성을 검사합니다. 만일 str 혹은 strCharSet 가 NULL 이라면, 잘못된 매개 변수 처리기가 호출됩니다. 이는 매개 변수 유효성 검사에 설명되어 있습니다. 계속해서 실행하도록 허용된 경우, _mbspbrk 는 NULL 을 반환하고, errno 에 EINVAL를 설정합니다. strpbrk 와 wcspbrk 는 매개 변수를 확인하지 않습니다. 그렇지 않으면 이들 세 함수는 동일하게 작동합니다.

_mbspbrk 는 _mbscspn 와 유사합니다. _mbspbrk 은 size_t 형식 값보다 포인터를 반환한다는 사실을 제외합니다.

C에서 이러한 함수는 첫 번째 인수에 대한 const 포인터를 갖습니다. C++에서는 두 오버로드를 모두 사용할 수 있습니다. const에 대한 포인터를 갖는 오버로드는 const에 대한 포인터를 반환합니다. 비const에 대한 포인터를 갖는 버전은 비const에 대한 포인터를 반환합니다. 이러한 함수의 const 및 비const 버전을 모두 사용할 수 있는 경우 매크로 _CONST_CORRECT_OVERLOADS가 정의됩니다. 두 C++ 오버로드에 대한 비const 동작이 필요한 경우 기호 _CONST_RETURN을 정의합니다.

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

제네릭 텍스트 라우팅 매핑

TCHAR.H 루틴

_UNICODE 및 _MBCS 정의되지 않음

_MBCS 정의됨

_UNICODE 정의됨

_tcspbrk

strpbrk

_mbspbrk

wcspbrk

해당 없음

해당 없음

_mbspbrk_l

해당 없음

요구 사항

루틴

필수 헤더

strpbrk

<string.h>

wcspbrk

<string.h> 또는 <wchar.h>

_mbspbrk, _mbspbrk_l

<mbstring.h>

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

예제

// crt_strpbrk.c

#include <string.h>
#include <stdio.h>

int main( void )
{
   char string[100] = "The 3 men and 2 boys ate 5 pigs\n";
   char *result = NULL;

   // Return pointer to first digit in "string".
   printf( "1: %s\n", string );
   result = strpbrk( string, "0123456789" );
   printf( "2: %s\n", result++ );
   result = strpbrk( result, "0123456789" );
   printf( "3: %s\n", result++ );
   result = strpbrk( result, "0123456789" );
   printf( "4: %s\n", result );
}
  

해당 .NET Framework 항목

System::String::IndexOfAny

참고 항목

참조

문자열 조작(CRT)

로캘

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

strcspn, wcscspn, _mbscspn, _mbscspn_l

strchr, wcschr, _mbschr, _mbschr_l

strrchr, wcsrchr, _mbsrchr, _mbsrchr_l