Condividi tramite


strrchr, wcsrchr, _mbsrchr_mbsrchr_l

Cerca in una stringa l'ultima occorrenza di un carattere.

Importante

_mbsrchr e _mbsrchr_l non possono essere usati nelle applicazioni eseguite in Windows Runtime. Per altre informazioni, vedere Funzioni CRT non supportate nelle app della piattaforma UWP (Universal Windows Platform).

Sintassi

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

Parametri

str
Stringa con terminazione Null in cui eseguire la ricerca.

c
Carattere da individuare.

locale
Impostazioni locali da usare.

Valore restituito

Restituisce un puntatore all'ultima occorrenza di c in stro NULL se c non viene trovato.

Osservazioni:

La funzione strrchr trova l'ultima occorrenza di c (convertito in char) in str. La ricerca include il carattere di terminazione NULL .

wcsrchr e _mbsrchr sono versioni con caratteri wide e caratteri multibyte di strrchr. Gli argomenti e il valore restituito di sono stringhe di wcsrchr caratteri wide. Gli argomenti e il valore restituito di sono stringhe di _mbsrchr caratteri multibyte.

In C queste funzioni accettano un puntatore const per il primo argomento. In C++ sono disponibili due overload. L'overload che accetta un puntatore a const restituisce un puntatore a const. La versione che accetta un puntatore a non-const restituisce un puntatore a non-const. La macro _CRT_CONST_CORRECT_OVERLOADS viene definita se sono disponibili entrambe le const versioni e nonconst di queste funzioni. Se è necessario il comportamento nonconst per entrambi gli overload C++, definire il simbolo _CONST_RETURN.

_mbsrchr convalida i propri parametri. Se str è NULL, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, errno viene impostato su EINVAL e _mbsrchr restituisce 0. strrchr e wcsrchr non convalidare i relativi parametri. A parte ciò, queste tre funzioni si comportano in modo identico.

Il valore di output è interessato dall'impostazione dell'impostazione LC_CTYPE della categoria delle impostazioni locali. Per altre informazioni, vedere setlocale. Le versioni di queste funzioni senza il suffisso _l usano le impostazioni locali correnti per questo comportamento dipendente dalle impostazioni locali. Le versioni con il suffisso _l sono identiche ma usano il parametro passato relativo alle impostazioni locali. Per altre informazioni, vedere Locale.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Mapping di routine di testo generico

Routine TCHAR.H _UNICODE e _MBCS non definito _MBCS definito _UNICODE definito
_tcsrchr strrchr _mbsrchr wcsrchr
n/d n/d _mbsrchr_l n/d

Requisiti

Ciclo Intestazione obbligatoria
strrchr <string.h>
wcsrchr <string.h> oppure <wchar.h>
_mbsrchr, _mbsrchr_l <mbstring.h>

Per altre informazioni sulla compatibilità, vedere Compatibilità.

Esempio

Per un esempio di uso strrchrdi , vedere strchr.

Vedi anche

Manipolazione delle stringhe
impostazioni locali
Interpretazione di sequenze di caratteri 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\