Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir arama dizesinin dizedeki ilk oluşumunun işaretçisini döndürür.
Önemli
_mbsstrve _mbsstr_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 *strstr(
const char *str,
const char *strSearch
); // C only
char *strstr(
char *str,
const char *strSearch
); // C++ only
const char *strstr(
const char *str,
const char *strSearch
); // C++ only
wchar_t *wcsstr(
const wchar_t *str,
const wchar_t *strSearch
); // C only
wchar_t *wcsstr(
wchar_t *str,
const wchar_t *strSearch
); // C++ only
const wchar_t *wcsstr(
const wchar_t *str,
const wchar_t *strSearch
); // C++ only
unsigned char *_mbsstr(
const unsigned char *str,
const unsigned char *strSearch
); // C only
unsigned char *_mbsstr(
unsigned char *str,
const unsigned char *strSearch
); // C++ only
const unsigned char *_mbsstr(
const unsigned char *str,
const unsigned char *strSearch
); // C++ only
unsigned char *_mbsstr_l(
const unsigned char *str,
const unsigned char *strSearch,
_locale_t locale
); // C only
unsigned char *_mbsstr_l(
unsigned char *str,
const unsigned char *strSearch,
_locale_t locale
); // C++ only
const unsigned char *_mbsstr_l(
const unsigned char *str,
const unsigned char *strSearch,
_locale_t locale
); // C++ only
Parametreler
str
Arama için null ile sonlandırılan dize.
strSearch
Aranacak null sonlandırılmış dize.
locale
Kullanılacak yerel ayar.
Dönüş değeri
içinde veya içinde strgörünmüyorsa strSearch strilk örneğine strSearch bir işaretçi NULL döndürür. Sıfır uzunlukta bir dizeye işaret ederse strSearch , işlevi döndürür str.
Açıklamalar
işlevi, strstr içinde strilk geçtiği yeri strSearch işaret eden bir işaretçi döndürür. Arama null karakterleri sonlandırmayı içermez. wcsstr , geniş karakterli sürümüdür strstr ve _mbsstr çok baytlı karakter sürümüdür. bağımsız değişkenleri ve dönüş değeri wcsstr geniş karakterli dizelerdir. bağımsız değişkenleri ve dönüş değeri _mbsstr çok baytlı karakter dizeleridir. _mbsstr parametrelerini doğrular. veya str strSearch iseNULL, parametre doğrulaması bölümünde açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, _mbsstr olarak ayarlanır errno EINVAL ve 0 döndürür. strstr ve wcsstr parametrelerini doğrulamaz. Bu üç işlev aynı şekilde davranır.
Önemli
Bu işlevler arabellek taşması sorunundan kaynaklanan bir tehdit oluşturabilir. Arabelleğe taşma sorunları, isteğe bağlı kodun yürütülmesine izin verebildiği için sisteme saldırmak için kullanılabilir ve bu da ayrıcalıkların gereksiz bir şekilde yükseltilmesine neden olabilir. Daha fazla bilgi için bkz . Arabellek taşmalarından kaçınma.
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. İşaretçiyi öğesine götüren aşırı yükleme işaretçisini const constdöndürür; işaretçiyi olmayanaconst götüren sürüm, olmayanaconst 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_RETURNtanımlayın.
Çıkış değeri yerel ayar kategorisi ayarından LC_CTYPEetkilenir; daha fazla bilgi için bkz setlocale. , _wsetlocale. Bu işlevlerin son ekine sahip _l olmayan sürümleri, bu yerel ayara bağımlı davranış için geçerli yerel ayarı kullanır; son eki olan _l sürümler, bunun yerine geçirilen yerel ayar parametresini kullanmaları dışında aynıdır. Daha fazla bilgi için bkz . Yerel Ayar.
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 olağan |
_UNICODE ve _MBCS tanımlanmadı |
_MBCS tanımlanan |
_UNICODE tanımlanan |
|---|---|---|---|
_tcsstr |
strstr |
_mbsstr |
wcsstr |
| Yok | Yok | _mbsstr_l |
Yok |
Gereksinimler
| Yordam | Gerekli başlık |
|---|---|
strstr |
<string.h> |
wcsstr |
<string.h> veya <wchar.h> |
_mbsstr, _mbsstr_l |
<mbstring.h> |
Uyumluluk hakkında daha fazla bilgi için bkz . Uyumluluk.
Örnek
// crt_strstr.c
#include <string.h>
#include <stdio.h>
char str[] = "lazy";
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( "String to be searched:\n %s\n", string );
printf( " %s\n %s\n\n", fmt1, fmt2 );
pdest = strstr( string, str );
result = (int)(pdest - string + 1);
if ( pdest != NULL )
printf( "%s found at position %d\n", str, result );
else
printf( "%s not found\n", str );
}
String to be searched:
The quick brown dog jumps over the lazy fox
1 2 3 4 5
12345678901234567890123456789012345678901234567890
lazy found at position 36
Ayrıca bkz.
Dize işleme
Yerel ayar
Çok baytlı karakter dizilerinin yorumlanması
strcspn, wcscspn, _mbscspn, _mbscspn_l
strcmp, wcscmp, _mbscmp
strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l
strspn, wcsspn, _mbsspn, _mbsspn_l
basic_string::find