strchr, wcschr, _mbschr, _mbschr_l
현재 로캘 또는 지정한 LC_CTYPE 변환 상태 범주를 사용 하 여 문자열에서 문자를 찾습니다.
중요 |
---|
_mbschr및 _mbschr_l Windows 런타임에서 실행 되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /zw에 지원 되는 CRT 함수. |
char *strchr(
const char *str,
int c
); // C only
char *strchr(
char * str,
int c
); // C++ only
const char *strchr(
const char * str,
int c
); // C++ only
wchar_t *wcschr(
const wchar_t *str,
wchar_t c
); // C only
wchar_t *wcschr(
wchar_t *str,
wchar_t c
); // C++ only
const wchar_t *wcschr(
const wchar_t *str,
wchar_t c
); // C++ only
unsigned char *_mbschr(
const unsigned char *str,
unsigned int c
); // C only
unsigned char *_mbschr(
unsigned char *str,
unsigned int c
); // C++ only
const unsigned char *_mbschr(
const unsigned char *str,
unsigned int c
); // C++ only
unsigned char *_mbschr_l(
const unsigned char *str,
unsigned int c,
_locale_t locale
); // C only
unsigned char *_mbschr_l(
unsigned char *str,
unsigned int c,
_locale_t locale
); // C++ only
const unsigned char *_mbschr_l(
const unsigned char *str,
unsigned int c,
_locale_t locale
); // C++ only
매개 변수
str
소스를 null로 끝나는 문자열입니다.c
찾을 문자입니다.locale
사용 하는 로캘.
반환 값
이러한 각 함수에서 첫 번째 항목으로 포인터를 반환 c 에서 str, 또는 NULL 경우 c 찾을 수 없습니다.
설명
strchr 함수 처음 발견 c 에서 str, 또는 반환 NULL 경우 c 찾을 수 없습니다.Null 종료 문자는 검색에 포함 됩니다.
wcschr_mbschr 및 _mbschr_l 와이드 및 멀티 바이트 문자 버전의 strchr.인수 및 반환 값을 wcschr 와이드 문자 문자열입니다. _mbschr 멀티 바이트 문자 문자열입니다._mbschr멀티 바이트 문자 시퀀스를 인식합니다.또한, null 포인터, 문자열의 경우 _mbschr 에 설명 된 대로 잘못 된 매개 변수 처리기를 호출 합니다. 매개 변수 유효성 검사.실행을 계속 하려면 허용 되는 경우 _mbschr 반환 NULL 을 설정 하 고 errno 에 EINVAL.strchr및 wcschr 매개 변수의 유효성을 검사 하지 않습니다.이러한 세 가지 함수 그렇지에 동일 하 게 동작 합니다.
출력 값의 설정에 의해 영향을 받지는 LC_CTYPE 범주 설정 로케일입니다. 자세한 내용은 >setlocale.없이 이러한 함수 버전을 _l 접미사는 현재 로케일에 대 한이 로케일 종속 동작; 사용 버전으로는 _l 접미사는 대신 전달 로캘 매개 변수를 사용 하는 경우를 제외 하 고 동일 합니다.자세한 내용은 로캘을 참조하십시오.
C에서 이러한 함수를 사용을 const 첫 번째 인수에 대 한 포인터입니다.C + +에서는 두 가지 오버 로드를 사용할 수 있습니다.에 대 한 포인터를 사용 하는 오버 로드 const 에 대 한 포인터를 반환 합니다. const. 비에 대 한 포인터를 사용 하는 버전-const 비에 대 한 포인터를 반환-const.매크로 _CONST_CORRECT_OVERLOADS 모두 정의 되어 있는 const 가 아닌-const 버전의이 함수 사용할 수 있는.비 필요로 하는 경우-const 동작 모두 c + + 오버 로드에 대 한 기호 _const_return을 정의 합니다.
일반 텍스트 루틴 매핑
TCHAR입니다.H 루틴 |
_UNICODE 및 _Mbcs가 정의 되어 있지 않습니다 |
_Mbcs가 정의 |
_Unicode가 정의 |
---|---|---|---|
_tcschr |
strchr |
_mbschr |
wcschr |
_n/a |
n/a |
_mbschr_l |
n/a |
요구 사항
루틴 |
필수 헤더 |
---|---|
strchr |
<string.h> |
wcschr |
<string.h> 또는 <wchar.h> |
_mbschr, _mbschr_l |
<mbstring.h> |
호환성에 대 한 자세한 내용은 호환성.
예제
// crt_strchr.c
//
// This program illustrates searching for a character
// with strchr (search forward) or strrchr (search backward).
//
#include <string.h>
#include <stdio.h>
int ch = 'r';
char string[] = "The quick brown dog jumps over the lazy fox";
char fmt1[] = " 1 2 3 4 5";
char fmt2[] = "12345678901234567890123456789012345678901234567890";
int main( void )
{
char *pdest;
int result;
printf_s( "String to be searched:\n %s\n", string );
printf_s( " %s\n %s\n\n", fmt1, fmt2 );
printf_s( "Search char: %c\n", ch );
// Search forward.
pdest = strchr( string, ch );
result = (int)(pdest - string + 1);
if ( pdest != NULL )
printf_s( "Result: first %c found at position %d\n",
ch, result );
else
printf_s( "Result: %c not found\n", ch );
// Search backward.
pdest = strrchr( string, ch );
result = (int)(pdest - string + 1);
if ( pdest != NULL )
printf_s( "Result: last %c found at position %d\n", ch, result );
else
printf_s( "Result:\t%c not found\n", ch );
}
해당 .NET Framework 항목
참고 항목
참조
strcspn, wcscspn, _mbscspn, _mbscspn_l
strncat, _strncat_l, wcsncat, wcsncat_l, _mbsncat _mbsncat_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l