strchr
From cppreference.net
|
헤더 파일에 정의됨
<string.h>
|
||
|
char
*
strchr
(
const
char
*
str,
int
ch
)
;
|
(1) | |
|
/*QChar*/
*
strchr
(
/*QChar*/
*
str,
int
ch
)
;
|
(2) | (C23 이후) |
1)
ch
(변환 후
char
로,
(
char
)
ch
와 같이)의 첫 번째 발생을
str
이 가리키는 널 종료 바이트 문자열에서 찾습니다(각 문자는
unsigned
char
로 해석됨). 종료 널 문자는 문자열의 일부로 간주되며
'
\0
'
를 검색할 때 찾을 수 있습니다.
2)
(1)
에 상응하는 타입-제네릭 함수.
T
를 한정자 없는 문자 객체 타입이라고 하자.
-
-
만약
str이 const T * 타입이면, 반환 타입은 const char * 이다. -
그렇지 않고 만약
str이 T * 타입이면, 반환 타입은 char * 이다. - 그 외의 경우, 동작은 정의되지 않는다.
-
만약
str 이 널 종료 바이트 문자열을 가리키는 포인터가 아닌 경우, 동작은 정의되지 않습니다.
목차 |
매개변수
| str | - | 분석할 null로 종료되는 바이트 문자열을 가리키는 포인터 |
| ch | - | 검색할 문자 |
반환값
str 에서 발견된 문자에 대한 포인터, 해당 문자가 발견되지 않으면 null 포인터를 반환합니다.
예제
이 코드 실행
#include <stdio.h> #include <string.h> int main(void) { const char *str = "Try not. Do, or do not. There is no try."; char target = 'T'; const char* result = str; while((result = strchr(result, target)) != NULL) { printf("Found '%c' starting at '%s'\n", target, result); ++result; // Increment result, otherwise we'll find target at the same location } }
출력:
Found 'T' starting at 'Try not. Do, or do not. There is no try.' Found 'T' starting at 'There is no try.'
참고문헌
- C23 표준 (ISO/IEC 9899:2024):
-
- 7.24.5.2 strchr 함수 (p: TBD)
- C17 표준 (ISO/IEC 9899:2018):
-
- 7.24.5.2 strchr 함수 (p: TBD)
- C11 표준 (ISO/IEC 9899:2011):
-
- 7.24.5.2 strchr 함수 (p: 367-368)
- C99 표준 (ISO/IEC 9899:1999):
-
- 7.21.5.2 strchr 함수 (p: 330)
- C89/C90 표준 (ISO/IEC 9899:1990):
-
- 4.11.5.2 strchr 함수
참고 항목
|
배열에서 문자의 첫 번째 발생을 검색합니다
(함수) |
|
|
문자의 마지막 발생을 찾습니다
(함수) |
|
|
한 문자열의 문자 중 다른 문자열에서 처음 발견되는 위치를 찾습니다
(함수) |
|
|
C++ documentation
for
strchr
|
|