Partager via


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

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

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

strrchr, wcsrchr, _mbsrchr, _mbsrchr_l

strstr, wcsstr, _mbsstr, _mbsstr_l