strchr, wcschr, _mbschr, _mbschr_l

Busque un carácter en una cadena, con la configuración regional actual o categoría especificada del estado de la conversión de LC_CTYPE.

Nota importanteImportante

_mbschr y _mbschr_l no se pueden utilizar en las aplicaciones que se ejecutan en tiempo de ejecución de Windows.Para obtener más información, vea Funciones CRT no compatibles con /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

Parámetros

  • str
    Cadena terminada en null de origen.

  • c
    Carácter que se encuentre.

  • locale
    Configuración regional a utilizar.

Valor devuelto

Cada una de estas funciones devuelve un puntero a la primera aparición de c en str, o NULL si c no se encuentra.

Comentarios

La función de strchr encuentra la primera aparición de c en str, o devuelve NULL si c no se encuentra.El carácter null de terminación se incluye en la búsqueda.

wcschr, _mbschr y _mbschr_l son versiones de caracteres anchos y de multibyte- carácter de strchr.Los argumentos y el valor devuelto de wcschr son cadenas de caracteres; las de _mbschr son cadenas de multibyte- carácter._mbschr reconoce secuencias de multibyte- carácter.Además, si la cadena es un puntero NULL, _mbschr invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, _mbschr devuelve NULL y establece errno a EINVAL.strchr y wcschr no validan sus parámetros.Estas tres funciones se comportan exactamente igual de otra manera.

El valor de salida se ve afectado por el valor de la categoría de LC_CTYPE de configuración regional; para obtener más información, vea setlocale.Las versiones de estas funciones sin el sufijo de _l utilizan la configuración regional actual para este comportamiento configuración regional-dependiente; las versiones con el sufijo de _l son idénticas salvo que utilizan el parámetro locale pasado en su lugar.Para obtener más información, vea Configuración regional.

En C, estas funciones toman un puntero de const para el primer argumento.En C++, dos sobrecargas están disponibles.La sobrecarga que toma un puntero a const devuelve un puntero a const; la versión que contiene un puntero const no devuelve un puntero a const no.Se define el _CONST_CORRECT_OVERLOADS macro si const y las versiones no de const de estas funciones están disponibles.Si requiere el comportamiento no de const para ambas sobrecargas de C++, defina el _CONST_RETURN de símbolos.

Asignaciones de la rutina de Genérico- texto

Rutina de TCHAR.H

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tcschr

strchr

_mbschr

wcschr

_n/a

no disponible

_mbschr_l

no disponible

Requisitos

Rutina

Encabezado necesario

strchr

<string.h>

wcschr

<string.h> o <wchar.h>

_mbschr, _mbschr_l

<mbstring.h>

Para obtener más información sobre la compatibilidad, vea Compatibilidad.

Ejemplo

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

Equivalente en .NET Framework

System::String::IndexOf

Vea también

Referencia

Manipulación de cadenas (CRT)

Configuración regional

Interpretación de secuencias de Multibyte- Carácter

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