strstr, wcsstr, _mbsstr, _mbsstr_l
Restituisce un puntatore alla prima occorrenza di una stringa ricercata in una stringa.
Importante
_mbsstr e _mbsstr_l non possono essere utilizzate nelle applicazioni eseguite in Windows 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 è la versione con caratteri wide di strstr e _mbsstr è la versione a caratteri multibyte. 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 potrebbero causare una minaccia da un problema di sovraccarico del buffer.I problemi di sovraccarico del buffer possono essere utilizzati per attaccare un sistema perché possono consentire l'esecuzione di codice arbitrario, con un conseguente innalzamento ingiustificato dei privilegi.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 è interessato dall'impostazione della categoria locale LC_CTYPE. Consultare setlocale, _wsetlocale per ulteriori informazioni. Le versioni di queste funzioni che non hanno il suffisso _l utilizzano le impostazioni locali correnti per il comportamento dipendente di tutte le impostazioni locali; le versioni che hanno il suffisso _l sono identiche, con la differenza che utilizzano il parametro delle impostazioni locali che viene passato. Per ulteriori informazioni, vedere Impostazioni locali.
Mapping di routine su testo generico
Routine TCHAR.H |
_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 sul flusso, consultare 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 di sequenze di caratteri multibyte
strcspn, wcscspn, _mbscspn, _mbscspn_l
strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l