Namespaces
Variants

std:: strpbrk

From cppreference.net
헤더 파일에 정의됨 <cstring>
const char * strpbrk ( const char * dest, const char * breakset ) ;
char * strpbrk ( char * dest, const char * breakset ) ;

dest 가 가리키는 널 종료 바이트 문자열에서 breakset 이 가리키는 널 종료 바이트 문자열의 어떤 문자라도 검색하여, 해당 문자에 대한 포인터를 반환합니다.

목차

매개변수

dest - 분석할 널 종료 바이트 문자열에 대한 포인터
breakset - 검색할 문자들을 포함하는 널 종료 바이트 문자열에 대한 포인터

반환값

dest 내 첫 번째 문자 중 breakset 에도 존재하는 문자에 대한 포인터, 해당 문자가 존재하지 않으면 null 포인터를 반환합니다.

참고 사항

이 이름은 "string pointer break"를 의미하며, 구분자("break") 문자 중 첫 번째 문자에 대한 포인터를 반환하기 때문입니다.

예제

#include <cstring>
#include <iomanip>
#include <iostream>
int main()
{
    const char* str = "hello world, friend of mine!";
    const char* sep = " ,!";
    unsigned int cnt = 0;
    do
    {
        str = std::strpbrk(str, sep); // 구분자 찾기
        std::cout << std::quoted(str) << '\n';
        if (str)
            str += std::strspn(str, sep); // 구분자 건너뛰기
        ++cnt; // 단어 수 증가
    } while (str && *str);
    std::cout << "There are " << cnt << " words\n";
}

출력:

" world, friend of mine!"
", friend of mine!"
" of mine!"
" mine!"
"!"
There are 5 words

참고 항목

다른 바이트 문자열에서 찾을 수 없는 문자들로만 구성된
최대 초기 세그먼트의 길이를 반환합니다
(function)
바이트 문자열에서 다음 토큰을 찾습니다
(function)
문자의 첫 번째 발생 위치를 찾습니다
(function)
하나의 와이드 문자열에서 다른 와이드 문자열에 있는
와이드 문자의 첫 번째 위치를 찾습니다
(function)
C documentation for strpbrk