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é |
---|
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
Voir aussi
Référence
Interprétation des séquences de caractères multioctets
strcspn, wcscspn, _mbscspn, _mbscspn_l
strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l