strchr
, wcschr
, _mbschr
, _mbschr_l
Geçerli yerel ayarı veya belirtilen LC_CTYPE
dönüştürme durumu kategorisini kullanarak dizedeki bir karakteri bulur.
Önemli
_mbschr
ve _mbschr_l
Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz. Daha fazla bilgi için bkz. Evrensel Windows Platformu uygulamalarında desteklenmeyen CRT işlevleri.
Sözdizimi
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
Parametreler
str
Null olarak sonlandırılan kaynak dize.
c
Bulunabilecek karakter.
locale
Kullanılacak yerel ayar.
Dönüş değeri
Bu işlevlerin her biri içinde NULL
veya bulunamazsa c
ilk örneğine str
c
bir işaretçi döndürür.
Açıklamalar
strchr
İşlev, içinde str
öğesinin c
ilk oluşumunu bulur veya bulunamazsa c
döndürürNULL
. Null sonlandırıcı karakter aramaya dahil edilir.
wcschr
ve _mbschr
_mbschr_l
geniş karakterli ve çok baytlı sürümleridir strchr
. bağımsız değişkenleri ve dönüş değeri wcschr
geniş karakterli dizelerdir. bağımsız değişkenleri ve dönüş değeri _mbschr
çok baytlı karakter dizeleridir. _mbschr
çok baytlı karakter dizilerini tanır. Ayrıca, dize null bir işaretçiyse, _mbschr
Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisini çağırır. Yürütmenin devam etmesi için izin verilirse, _mbschr
döndürür NULL
ve olarak EINVAL
ayarlanırerrno
. strchr
ve wcschr
parametrelerini doğrulamaz. Bu üç işlev aynı şekilde davranır.
Çıkış değeri, yerel ayarın LC_CTYPE
kategori ayarının ayarından etkilenir; daha fazla bilgi için bkz setlocale
. . Bu işlevlerin son eki olmayan _l
sürümleri, bu yerel ayara bağımlı davranış için geçerli yerel ayarı kullanır; son ekine _l
sahip sürümler, bunun yerine geçirilen yerel ayar parametresini kullanmaları dışında aynıdır. Daha fazla bilgi için bkz . Yerel Ayar.
C'de, bu işlevler ilk bağımsız değişken için bir const
işaretçi alır. C++'ta iki aşırı yükleme kullanılabilir. bir işaretçiyi alan aşırı yükleme işaretçisini const
döndürür; işaretçiyi const
olmayanaconst
götüren sürüm, olmayan öğesineconst
bir işaretçi döndürür. _CRT_CONST_CORRECT_OVERLOADS
Makro, bu işlevlerin const
hem hem de olmayanconst
sürümlerinin kullanılabilir olması durumunda tanımlanır. Her iki C++ aşırı yüklemesi için de olmayan davranışa ihtiyacınızconst
varsa simgesini _CONST_RETURN
tanımlayın.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Genel metin yordamı eşlemeleri
TCHAR.H Rutin |
_UNICODE ve _MBCS tanımlanmadı |
_MBCS Tanımlanan |
_UNICODE Tanımlanan |
---|---|---|---|
_tcschr |
strchr |
_mbschr |
wcschr |
Gereksinimler
Yordam | Gerekli başlık |
---|---|
strchr |
<string.h> |
wcschr |
<string.h> veya <wchar.h> |
_mbschr , _mbschr_l |
<mbstring.h> |
Uyumluluk hakkında daha fazla bilgi için bkz . Uyumluluk.
Örnek
// 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 );
}
String to be searched:
The quick brown dog jumps over the lazy fox
1 2 3 4 5
12345678901234567890123456789012345678901234567890
Search char: r
Result: first r found at position 12
Result: last r found at position 30
Ayrıca bkz.
Dize işleme
Yerel ayar
Çok baytlı karakter dizilerinin yorumlanması
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
strrchr
, wcsrchr
, _mbsrchr
, _mbsrchr_l
strstr
, wcsstr
, _mbsstr
, _mbsstr_l
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin