Compartilhar via


strrchr, wcsrchr, _mbsrchr, _mbsrchr_l

Verifica uma cadeia de caracteres para a última ocorrência de um caractere.

Importante

_mbsrchr e _mbsrchr_l não podem ser usados em aplicativos executados no Windows Runtime. Para obter mais informações, confira Funções do CRT sem suporte em aplicativos da Plataforma Universal do Windows.

Sintaxe

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
Cadeia de caracteres terminada em nulo para pesquisa.

c
O caractere a ser alocado.

locale
Localidade a usar.

Valor retornado

Retorna um ponteiro para a última ocorrência de c in str, ou NULL if c não foi encontrado.

Comentários

A função strrchr localiza a última ocorrência de c (convertida em char) em str. A pesquisa inclui o caractere NULL de terminação.

wcsrchr e _mbsrchr são versões de caracteres largos e de caracteres multibyte de strrchr. Os argumentos e o valor retornado de wcsrchr são cadeias de caracteres largos. Os argumentos e o valor retornado de são cadeias de _mbsrchr caracteres multibyte.

Em C, essas funções usam um ponteiro const para o primeiro argumento. No C++, duas sobrecargas estão disponíveis. A sobrecarga de colocar um ponteiro para const retorna um ponteiro para const; a versão que usa um ponteiro para não const retorna um ponteiro para não const. A macro _CRT_CONST_CORRECT_OVERLOADS é definida se as versões const e não const dessas funções estão disponíveis. Se você precisar do comportamento não const para as sobrecargas de C++, defina o símbolo _CONST_RETURN.

_mbsrchr valida seus parâmetros. Se str for NULL, o manipulador de parâmetro inválido será chamado, conforme descrito em Validação de parâmetro. Se a execução tiver permissão para continuar, errno será definido como EINVAL e _mbsrchr retornará 0. strrchr e wcsrchr não validam seus parâmetros. Caso contrário, essas três funções se comportam de forma idêntica.

O valor de saída é afetado pela configuração da categoria LC_CTYPE da localidade; confira setlocale para obter mais informações. As versões dessas funções sem o sufixo _l usam a localidade atual desse comportamento dependente da localidade. As versões com o sufixo _l são idênticas, exceto por usarem o parâmetro de localidade passado em seu lugar. Para obter mais informações, consulte Localidade.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.

Mapeamentos de rotina de texto genérico

Rotina TCHAR.H _UNICODE e _MBCS não definidos _MBCS definido _UNICODE definido
_tcsrchr strrchr _mbsrchr wcsrchr
n/a n/a _mbsrchr_l n/a

Requisitos

Rotina Cabeçalho necessário
strrchr <string.h>
wcsrchr <string.h> ou <wchar.h>
_mbsrchr, _mbsrchr_l <mbstring.h>

Para obter mais informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

Para um exemplo de como usar strrchr, confira strchr.

Confira também

Manipulação de cadeia de caracteres
Localidade
Interpretação de sequências 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\