Condividi tramite


strstr, wcsstr, _mbsstr, _mbsstr_l

Restituisce un puntatore alla prima occorrenza di una stringa ricercata in una stringa.

Nota importanteImportante

_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.

Nota sulla sicurezzaNota sulla sicurezza

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

System::String::IndexOf

Vedere anche

Riferimenti

Modifica delle stringhe (CRT)

Impostazioni locali

Interpretazione delle sequenze di caratteri multibyte

strcspn, wcscspn, _mbscspn, _mbscspn_l

strcmp, wcscmp, _mbscmp

strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l

strrchr, wcsrchr, _mbsrchr, _mbsrchr_l

strspn, wcsspn, _mbsspn, _mbsspn_l