strchr, wcschr, _mbschr, _mbschr_l
Recherchez un caractère d'une chaîne, à l'aide de les paramètres régionaux ou une catégorie spécifiée du rapport de conversion de LC_CTYPE.
Important
_mbschr et _mbschr_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 *strchr(
const char *str,
int c
); // C only
char *strchr(
char * str,
int c
); // C++ only
const char *strchr(
const char * str,
int c
); // C++ only
wchar_t *wcschr(
const wchar_t *str,
wchar_t c
); // C only
wchar_t *wcschr(
wchar_t *str,
wchar_t c
); // C++ only
const wchar_t *wcschr(
const wchar_t *str,
wchar_t c
); // C++ only
unsigned char *_mbschr(
const unsigned char *str,
unsigned int c
); // C only
unsigned char *_mbschr(
unsigned char *str,
unsigned int c
); // C++ only
const unsigned char *_mbschr(
const unsigned char *str,
unsigned int c
); // C++ only
unsigned char *_mbschr_l(
const unsigned char *str,
unsigned int c,
_locale_t locale
); // C only
unsigned char *_mbschr_l(
unsigned char *str,
unsigned int c,
_locale_t locale
); // C++ only
const unsigned char *_mbschr_l(
const unsigned char *str,
unsigned int c,
_locale_t locale
); // C++ only
Paramètres
str
Chaîne se terminant par null source.c
Caractère à localiser.locale
Paramètres régionaux à utiliser.
Valeur de retour
Chacune de ces fonctions retourne un pointeur vers la première occurrence d' c dans str, ou NULL si c est introuvable.
Notes
La fonction d' strchr rechercher la première occurrence d' c dans str, il retourne NULL si c est introuvable.Le caractère de fin null est inclus dans la recherche.
wcschr, _mbschr et _mbschr_l sont à caractères larges et des versions à caractères multioctets d' strchr.Les arguments et la valeur de retour d' wcschr sont des chaînes à caractères larges ; ces d' _mbschr sont des chaînes de caractères multioctets._mbschr identifie les séquences de caractères multioctets.En outre, si la chaîne est un pointeur null, _mbschr appelle le gestionnaire de paramètre non valide, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution pour continuer, _mbschr retourne NULL et définit errno à EINVAL.strchr et wcschr ne valident pas leurs paramètres.Ces trois fonctions se comportent de sinon.
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.
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.
Mappages de routines de texte générique
Routine de TCHAR.H |
_UNICODE et non définis _MBCS |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tcschr |
strchr |
_mbschr |
wcschr |
_n/a |
N/A |
_mbschr_l |
N/A |
Configuration requise
Routine |
En-tête requis |
---|---|
strchr |
<string.h> |
wcschr |
<string.h> ou <wchar.h> |
_mbschr, _mbschr_l |
<mbstring.h> |
Pour plus d'informations sur la compatibilité, consultez l' Compatibilité.
Exemple
// crt_strchr.c
//
// This program illustrates searching for a character
// with strchr (search forward) or strrchr (search backward).
//
#include <string.h>
#include <stdio.h>
int ch = 'r';
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_s( "String to be searched:\n %s\n", string );
printf_s( " %s\n %s\n\n", fmt1, fmt2 );
printf_s( "Search char: %c\n", ch );
// Search forward.
pdest = strchr( string, ch );
result = (int)(pdest - string + 1);
if ( pdest != NULL )
printf_s( "Result: first %c found at position %d\n",
ch, result );
else
printf_s( "Result: %c not found\n", ch );
// Search backward.
pdest = strrchr( string, ch );
result = (int)(pdest - string + 1);
if ( pdest != NULL )
printf_s( "Result: last %c found at position %d\n", ch, result );
else
printf_s( "Result:\t%c not found\n", ch );
}
Équivalent .NET Framework
Voir aussi
Référence
Interprétation des séquences de caractères multioctets
strcspn, wcscspn, _mbscspn, _mbscspn_l
strncat, _strncat_l, wcsncat, wcsncat_l, _mbsncat _mbsncat_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l