strpbrk
From cppreference.net
|
헤더 파일에 정의됨
<string.h>
|
||
|
char
*
strpbrk
(
const
char
*
dest,
const
char
*
breakset
)
;
|
(1) | |
|
/*QChar*/
*
strpbrk
(
/*QChar*/
*
dest,
const
char
*
breakset
)
;
|
(2) | (C23부터) |
1 )
널 종료 바이트 문자열
dest
가 가리키는 대상에서
breakset
이 가리키는 널 종료 바이트 문자열의 모든 문자를 검색하여 해당 문자에 대한 포인터를 반환합니다.
2)
(1)
에 해당하는 타입-제네릭 함수.
T
를 한정자 없는(unqualified) 문자 객체 타입이라고 하자.
-
-
만약
dest가 const T * 타입이면, 반환 타입은 const char * 이다. -
그렇지 않고 만약
dest가 T * 타입이면, 반환 타입은 char * 이다. - 그 외의 경우, 동작은 정의되지 않는다.
-
만약
동작은 dest 또는 breakset 가 null-terminated byte string을 가리키는 포인터가 아닌 경우 정의되지 않습니다.
목차 |
매개변수
| dest | - | 분석할 널 종료 바이트 문자열에 대한 포인터 |
| breakset | - | 검색할 문자들을 포함하는 널 종료 바이트 문자열에 대한 포인터 |
반환값
dest 내 첫 번째 문자 중 breakset 에도 존재하는 문자에 대한 포인터, 해당 문자가 존재하지 않으면 null 포인터를 반환합니다.
참고 사항
이 이름은 "string pointer break"를 의미하며, 구분자("break") 문자 중 첫 번째 문자에 대한 포인터를 반환하기 때문입니다.
예제
이 코드 실행
#include <stdio.h> #include <string.h> int main(void) { const char* str = "hello world, friend of mine!"; const char* sep = " ,!"; unsigned int cnt = 0; do { str = strpbrk(str, sep); // 구분자 찾기 if(str) str += strspn(str, sep); // 구분자 건너뛰기 ++cnt; // 단어 카운트 증가 } while(str && *str); printf("There are %u words\n", cnt); }
출력:
There are 5 words
참조문헌
- C23 표준 (ISO/IEC 9899:2024):
-
- 7.24.5.4 strpbrk 함수 (p: TBD)
- C17 표준 (ISO/IEC 9899:2018):
-
- 7.24.5.4 strpbrk 함수 (p: TBD)
- C11 표준 (ISO/IEC 9899:2011):
-
- 7.24.5.4 strpbrk 함수 (p: 368)
- C99 표준 (ISO/IEC 9899:1999):
-
- 7.21.5.4 strpbrk 함수 (p: 331)
- C89/C90 표준 (ISO/IEC 9899:1990):
-
- 4.11.5.4 strpbrk 함수
참고 항목
|
다른 바이트 문자열에서 찾을 수 없는 문자들로만 구성된
최대 초기 세그먼트의 길이를 반환합니다 (함수) |
|
|
문자의 첫 번째 발생 위치를 찾습니다
(함수) |
|
|
(C11)
|
바이트 문자열에서 다음 토큰을 찾습니다
(함수) |
|
C++ documentation
for
strpbrk
|
|