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.
Importante |
---|
_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
Vea también
Referencia
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