strstr, wcsstr, _mbsstr, _mbsstr_l

 

Pour obtenir la dernière documentation sur Visual Studio 2017 RC, consultez Documentation Visual Studio 2017 RC.

Retourne un pointeur vers la première occurrence d’une chaîne de recherche dans une chaîne.

System_CAPS_ICON_important.jpg Important

Les fonctions _mbsstr et _mbsstr_l ne peuvent pas être utilisées dans les applications qui s'exécutent dans Windows Runtime. 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 Null à trouver.

strSearch
Chaîne à rechercher.

locale
Paramètres régionaux à utiliser.

Retourne un pointeur vers la première occurrence de strSearch dans str, ou NULL si strSearch n’apparaît pas dans str. Si strSearch pointe vers une chaîne de longueur nulle, la fonction renvoie str.

Le strstr fonction retourne un pointeur vers la première occurrence de strSearch dans str. La recherche n’inclut pas la fin des caractères null. wcsstrest la version à caractères larges de strstr et _mbsstr est la version à caractères multioctets. Les arguments et la valeur de retour de wcsstr sont des chaînes de caractères larges ; ceux de _mbsstr sont des chaînes de caractères multioctets. _mbsstrvalide ses paramètres. Si str ou strSearch est NULL, le Gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre . Si l’exécution est autorisée à se poursuivre, _mbsstr définit errno à EINVAL et retourne 0. strstr et wcsstr ne vérifient pas leurs paramètres. Ces trois fonctions se comportent sinon de façon identique.

System_CAPS_ICON_important.jpg Important

Ces fonctions peuvent entraîner une menace à partir d’un problème de saturation de mémoire tampon. Des problèmes de dépassement de mémoire tampon peuvent servir à attaquer un système, car elles peuvent permettre l’exécution de code arbitraire, ce qui peut entraîner une élévation des privilèges injustifiée. Pour plus d’informations, consultez Solutions contre les dépassements de mémoire tampon.

En C, ces fonctions acceptent un pointeur const comme premier argument. En C++, deux surcharges sont disponibles. La surcharge qui accepte un pointeur vers const retourne un pointeur vers const; la version qui accepte un pointeur vers non -const retourne un pointeur vers non -const. La macro _CONST_CORRECT_OVERLOADS est définie si les versions const et non-const de ces fonctions sont disponibles. Si vous avez besoin d'un comportement non-const pour les deux surcharges C++, définissez le symbol _CONST_RETURN.

La valeur de sortie est affectée par la définition de la catégorie de paramètres régionaux de LC_CTYPE; pour plus d’informations, consultez setlocale, _wsetlocale. Les versions de ces fonctions qui n’ont pas la _l suffixe utilisent les paramètres régionaux actuels pour ce comportement dépendant des paramètres régionaux et les versions qui ont le _l suffixe sont identiques, sauf qu’elles utilisent à la place les paramètres régionaux qui lui sont passées. Pour plus d’informations, consultez Locale.

Mappages de routines de texte générique

Routine TCHAR.H_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_tcsstrstrstr_mbsstrwcsstr
n/an/a_mbsstr_ln/a
RoutineEn-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 Compatibilité.

  
      // 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  

System::String::IndexOf

Manipulation de chaînes
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
basic_string::Find

Afficher: