strstr
, , wcsstr
_mbsstr
,_mbsstr_l
Mengembalikan penunjuk ke kemunculan pertama string pencarian dalam string.
Penting
_mbsstr
dan _mbsstr_l
tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime. Untuk informasi selengkapnya, lihat Fungsi CRT yang tidak didukung di aplikasi Platform Windows Universal.
Sintaks
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
Parameter
str
Untai (karakter) yang dihentikan null untuk dicari.
strSearch
Untai (karakter) yang dihentikan null untuk dicari.
locale
Lokal untuk digunakan.
Nilai hasil
Mengembalikan penunjuk ke kemunculan strSearch
pertama dalam str
, atau NULL
jika strSearch
tidak muncul di str
. Jika strSearch
menunjuk ke string dengan panjang nol, fungsi mengembalikan str
.
Keterangan
Fungsi strstr
mengembalikan penunjuk ke kemunculan strSearch
pertama dalam str
. Pencarian tidak termasuk mengakhiri karakter null. wcsstr
adalah versi karakter lebar dan strstr
_mbsstr
merupakan versi multibyte-character. Argumen dan nilai yang dikembalikan adalah wcsstr
string karakter lebar. Argumen dan nilai yang dikembalikan adalah _mbsstr
string multibyte-character. _mbsstr
memvalidasi parameternya. Jika str
atau strSearch
adalah NULL
, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter . Jika eksekusi diizinkan untuk melanjutkan, _mbsstr
atur errno
ke EINVAL
dan mengembalikan 0. strstr
dan wcsstr
tidak memvalidasi parameternya. Ketiga fungsi ini berulah secara identik jika tidak.
Penting
Fungsi-fungsi ini mungkin menimbulkan ancaman dari masalah buffer yang diserbu. Masalah buffer overrun dapat digunakan untuk menyerang sistem karena dapat memungkinkan eksekusi kode sewenang-wenang, yang dapat menyebabkan elevasi hak istimewa yang tidak beralasan. Untuk informasi selengkapnya, lihat Menghindari overruns buffer.
Di C, fungsi-fungsi ini mengambil const
penunjuk untuk argumen pertama. Di C++, tersedia dua kelebihan beban. Kelebihan beban yang mengambil pointer untuk const
mengembalikan pointer ke const
; versi yang mengambil pointer ke non-const
mengembalikan pointer ke non-const
. Makro _CRT_CONST_CORRECT_OVERLOADS
didefinisikan jika const
dan non-versiconst
fungsi ini tersedia. Jika Anda memerlukan perilaku non-untukconst
kedua kelebihan beban C++, tentukan simbol _CONST_RETURN
.
Nilai output dipengaruhi oleh pengaturan LC_CTYPE
kategori lokal ; untuk informasi selengkapnya, lihat setlocale
, _wsetlocale
. Versi fungsi ini yang tidak memiliki _l
akhiran menggunakan lokal saat ini untuk perilaku dependen lokal ini; versi yang memiliki _l
akhiran identik kecuali mereka menggunakan parameter lokal yang diteruskan. Untuk informasi selengkapnya, lihat Lokal.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Pemetaan rutin teks generik
TCHAR.H Rutin |
_UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
---|---|---|---|
_tcsstr |
strstr |
_mbsstr |
wcsstr |
n/a | n/a | _mbsstr_l |
n/a |
Persyaratan
Rutin | Header yang diperlukan |
---|---|
strstr |
<string.h> |
wcsstr |
<string.h> atau <wchar.h> |
_mbsstr , _mbsstr_l |
<mbstring.h> |
Untuk informasi selengkapnya tentang kompatibilitas, lihat Kompatibilitas.
Contoh
// 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
Lihat juga
Manipulasi string
Lokal
Interpretasi urutan karakter multibyte
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