strstr, wcsstr, _mbsstr, _mbsstr_l
Restituisce un puntatore alla prima occorrenza di una stringa ricercata in una stringa.
![]() |
---|
_mbsstr e _mbsstr_l non possono essere utilizzati nelle applicazioni eseguite nelle finestre runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /ZW. |
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
Parametri
str
Stringa da cercare con terminazione null.strSearch
Stringa da cercare con terminazione null.locale
Impostazioni locali da utilizzare.
Valore restituito
Restituisce un puntatore alla prima occorrenza strSearch in str, o NULL se strSearch non compare in str.Se strSearch punta a una stringa di lunghezza zero, la funzione restituisce str.
Note
La funzione strstr restituisce un puntatore alla prima occorrenza di strSearch in str.La ricerca non include il carattere di terminazione null.wcsstr e _mbsstr sono versioni a caratteri di tipo "wide" e di caratteri multibyte di strstr.Gli argomenti e il valore restituito di wcsstr sono stringhe di caratteri di tipo "wide", quelli di _mbsstr sono stringhe di caratteri multibyte._mbsstr convalida i suoi parametri.Se str o strSearch è NULL, viene richiamato il gestore di parametro non valido, come descritto in Convalida dei parametri.Se all'esecuzione è consentito continuare, _mbsstr imposta errno al valore EINVAL e restituisce 0.strstr e wcsstr non convalidano i relativi parametri.Altrimenti queste tre funzioni si comportano in modo identico.
![]() |
---|
Queste funzioni comportano un rischio potenziale causato da un problema di sovraccarico del buffer.Problemi di sovraccarico del buffer sono un metodo frequente di attacco al sistema, con conseguente elevazione dei privilegi non autorizzata.Per ulteriori informazioni, vedere Evitare sovraccarichi del buffer. |
In C, queste funzioni accettano un puntatore const come primo argomento.In C++, sono disponibili due overload.L'overload che accetta un puntatore a const restituisce un puntatore a const; la versione che accetta un puntatore a un non-const non restituisce un puntatore a un non-const.La macro _CONST_CORRECT_OVERLOADS è definito se è entrambe le versioni const e non-const di queste funzioni sono disponibili.Se è necessario che entrambi gli overload C++ abbiano il comportamento non-const, definire il simbolo _CONST_RETURN.
Il valore di output è influenzato dall'impostazione della categoriaLC_CTYPE delle impostazioni locali; vedere setlocale per ulteriori informazioni.Le versioni di queste funzioni senza il suffisso _l utilizzano le impostazioni locali correnti per il comportamento dipendente dalle impostazioni locali; le versioni con il suffisso _l sono identiche, ad eccezione del fatto che utilizzano il parametro delle impostazioni locali che viene passato.Per ulteriori informazioni, vedere Impostazioni locali.
Mapping di routine a Testo generico
TCHAR.H routine |
_UNICODE & _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcsstr |
strstr |
_mbsstr |
wcsstr |
n/d |
n/d |
_mbsstr_l |
n/d |
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
strstr |
<string.h> |
wcsstr |
<string.h> o <wchar.h> |
_mbsstr, _mbsstr_l |
<mbstring.h> |
Per ulteriori informazioni sulla compatibilità, vedere Compatibilità.
Esempio
// 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 );
}
Equivalente .NET Framework
Vedere anche
Riferimenti
Interpretazione delle sequenze di caratteri multibyte
strcspn, wcscspn, _mbscspn, _mbscspn_l
strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l