strrchr, wcsrchr, _mbsrchr, _mbsrchr_l

Examina una cadena para buscar la última repetición de un carácter.

Importante

_mbsrchr y _mbsrchr_l no se pueden usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para obtener más información, vea Funciones de CRT no admitidas en aplicaciones de la Plataforma universal de Windows.

Sintaxis

char *strrchr(
   const char *str,
   int c
); // C only
char *strrchr(
   char *str,
   int c
); // C++ only
const char *strrchr(
   const char *str,
   int c
); // C++ only
wchar_t *wcsrchr(
   const wchar_t *str,
   wchar_t c
); // C only
wchar_t *wcsrchr(
   wchar_t *str,
   wchar_t c
); // C++ only
const wchar_t *wcsrchr(
   const wchar_t *str,
   wchar_t c
); // C++ only
unsigned char *_mbsrchr(
   const unsigned char *str,
   unsigned int c
); // C only
unsigned char *_mbsrchr(
   unsigned char *str,
   unsigned int c
); // C++ only
const unsigned char *_mbsrchr(
   const unsigned char *str,
   unsigned int c
); // C++ only
unsigned char *_mbsrchr_l(
   const unsigned char *str,
   unsigned int c,
   _locale_t locale
); // C only
unsigned char *_mbsrchr_l(
   unsigned char *str,
   unsigned int c,
   _locale_t locale
); // C++ only
const unsigned char *_mbsrchr_l(
   const unsigned char *str,
   unsigned int c,
   _locale_t locale
); // C++ only

Parámetros

str
Cadena terminada en NULL que se va a buscar.

c
Carácter que se va a buscar.

locale
Configuración regional que se va a usar.

Valor devuelto

Devuelve un puntero a la última aparición de c en str, o NULL si c no se encuentra.

Comentarios

La función strrchr encuentra la última repetición de c (convertida en char) en str. La búsqueda incluye el carácter NULL de terminación.

wcsrchr y _mbsrchr son versiones de caracteres anchos y multibyte de strrchr. Los argumentos y el valor devuelto de son cadenas de wcsrchr caracteres anchos. Los argumentos y el valor devuelto de son cadenas de _mbsrchr caracteres multibyte.

En C, estas funciones toman un puntero const como primer argumento. En C++, hay disponibles dos sobrecargas. La sobrecarga que toma un puntero a const devuelve un puntero a const; la versión que contiene un puntero a un valor que no es const devuelve un puntero a un valor que no es const. La macro _CRT_CONST_CORRECT_OVERLOADS se define si están disponibles las versiones const y no const de estas funciones. Si necesita un comportamiento que no sea const para ambas sobrecargas de C++, defina el símbolo _CONST_RETURN.

_mbsrchr valida sus parámetros. Si str es NULL, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, errno se establece en EINVAL y _mbsrchr devuelve 0. strrchr y wcsrchr no validen sus parámetros. Estas tres funciones se comportan exactamente igual.

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

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Asignaciones de rutinas de texto genérico

Rutina TCHAR.H _UNICODE y _MBCS no definidos _MBCS definido _UNICODE definido
_tcsrchr strrchr _mbsrchr wcsrchr
n/a n/a _mbsrchr_l n/a

Requisitos

Routine Encabezado necesario
strrchr <string.h>
wcsrchr <string.h> o <wchar.h>
_mbsrchr, _mbsrchr_l <mbstring.h>

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

Ejemplo

Para ver un ejemplo en el que se usa strrchr, consulte strchr.

Consulte también

Manipulación de cadenas
Configuración regional
Interpretación de secuencias de caracteres multibyte
strchr, wcschr, _mbschr, _mbschr_l
strcspn, wcscspn, _mbscspn, _mbscspn_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l
strspn, wcsspn, _mbsspn, _mbsspn_l\