Partager via


strstr, wcsstr, _mbsstr, _mbsstr_l

Retournez plutôt un pointeur vers la première occurrence d'une chaîne de recherche dans une chaîne.

Important

_mbsstr et _mbsstr_l ne peuvent pas être utilisés dans les applications qui s'exécutent dans les fenêtres d'exécution.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /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

Paramètres

  • str
    Chaîne terminée par le caractère NULL à trouver.

  • strSearch
    Chaîne terminée par le caractère NULL à rechercher.

  • locale
    Paramètres régionaux à utiliser.

Valeur de retour

Retourne un pointeur vers la première occurrence d' strSearch dans str, ou NULL si strSearch n'apparaît pas dans str.Si les points d' strSearch à une chaîne de longueur nulle, la fonction retourne str.

Notes

La fonction d' strstr retourne un pointeur vers la première occurrence d' strSearch dans str.La recherche ne contient pas les caractères NULL de fin.wcsstr et _mbsstr sont à caractères larges et des versions à caractères multioctets d' strstr.Les arguments et la valeur de retour d' wcsstr sont des chaînes à caractères larges ; ces d' _mbsstr sont des chaînes de caractères multioctets._mbsstr valide ses paramètres.Si str ou strSearch est NULL, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres .Si est autorisé à l'exécution pour continuer, _mbsstr définit errno à EINVAL et retourne 0.strstr et wcsstr ne valident pas leurs paramètres.Ces trois fonctions se comportent de sinon.

Note de sécuritéNote de sécurité

Ces fonctions entraînent un risque potentiel provoqué par un dépassement de mémoire tampon.Les dépassements de mémoire tampon sont une méthode fréquente d'attaque de système, ce qui provoque une élévation de privilège injustifiée.Pour plus d'informations, consultez l' Solutions contre les dépassements de mémoire tampon.

En C, ces fonctions prennent un pointeur d' const pour le premier argument.En C++, deux surcharges sont disponibles.La surcharge prenant un pointeur vers const retourne un pointeur vers const; la version qui prend un pointeur versconst non retourne un pointeur versconstnon.La macro _CONST_CORRECT_OVERLOADS est défini si const et les versions non d'const de ces fonctions sont disponibles.Si vous avez besoin d'un comportement non d'const pour les deux surcharges de C++, définissez le _CONST_RETURN de symboles.

La valeur de sortie est affectée par la configuration de la définition de catégorie d'LC_CTYPE des paramètres régionaux ; pour plus d'informations, consultez l' setlocale.Les versions de ces fonctions sans suffixe d' _l utilisent les paramètres régionaux définis pour ce comportement dépendant des paramètres régionaux ; les versions avec le suffixe d' _l sont identiques sauf qu'elles utilisent le paramètre de paramètres régionaux passé à la place.Pour plus d'informations, consultez Paramètres régionaux.

Mappages de routines de texte générique

Routine de TCHAR.H

_UNICODE et non définis _MBCS

_MBCS défini

_UNICODE défini

_tcsstr

strstr

_mbsstr

wcsstr

N/A

N/A

_mbsstr_l

N/A

Configuration requise

Routine

En-tête requis

strstr

<string.h>

wcsstr

<string.h> ou <wchar.h>

_mbsstr, _mbsstr_l

<mbstring.h>

Pour plus d'informations sur la compatibilité, consultez l' Compatibilité.

Exemple

// 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 );
}
  

Équivalent .NET Framework

System::String::IndexOf

Voir aussi

Référence

Manipulation de chaînes (CRT)

Paramètres régionaux

Interprétation des séquences de caractères multioctets

strcspn, wcscspn, _mbscspn, _mbscspn_l

strcmp, wcscmp, _mbscmp

strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l

strrchr, wcsrchr, _mbsrchr, _mbsrchr_l

strspn, wcsspn, _mbsspn, _mbsspn_l