_strrev
, _wcsrev
, _mbsrev
_mbsrev_l
Inverte i caratteri di una stringa.
Importante
_mbsrev
e _mbsrev_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 *_strrev(
char *str
);
wchar_t *_wcsrev(
wchar_t *str
);
unsigned char *_mbsrev(
unsigned char *str
);
unsigned char *_mbsrev_l(
unsigned char *str,
_locale_t locale
);
Parametri
str
Stringa con terminazione Null da invertire.
locale
Impostazioni locali da usare.
Valore restituito
Restituisce un puntatore alla stringa modificata. Nessun valore restituito è riservato per indicare un errore.
Osservazioni:
La funzione _strrev
inverte l'ordine dei caratteri in str
. Il carattere Null di terminazione rimane nella posizione originale. _wcsrev
e _mbsrev
sono versioni con caratteri wide e caratteri multibyte di _strrev
. Gli argomenti e il valore restituito di sono stringhe di _wcsrev
caratteri wide. Gli argomenti e il valore restituito di sono stringhe di _mbsrev
caratteri multibyte. Per _mbsrev
, l'ordine dei byte in ogni carattere multibyte in str
non viene modificato. A parte ciò, queste tre funzioni si comportano in modo identico.
_mbsrev
convalida i propri parametri. string1
Se o string2
è un puntatore Null, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, _mbsrev
restituisce NULL
e imposta errno
su EINVAL
. _strrev
e _wcsrev
non convalidare i relativi parametri.
Il valore di output è interessato dall'impostazione dell'impostazione LC_CTYPE
della categoria delle impostazioni locali. Per ulteriori informazioni, vedere setlocale
. Le versioni di queste funzioni sono identiche, ad eccezione che quelle che non dispongono del suffisso _l
usano le impostazioni locali correnti, mentre quelle che dispongono del suffisso _l
usano il parametro delle impostazioni locali passato. Per altre informazioni, vedere Locale.
Importante
Queste funzioni potrebbero essere vulnerabili a rischi di sovraccarico del buffer. I sovraccarichi del buffer possono essere utilizzati per gli attacchi di sistema perché possono causare un'elevazione dei privilegi non autorizzata. Per altre informazioni, vedere Evitare sovraccarichi del buffer.
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 |
---|---|---|---|
_tcsrev |
_strrev |
_mbsrev |
_wcsrev |
n/d | n/d | _mbsrev_l |
n/d |
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_strrev |
<string.h> |
_wcsrev |
<string.h> o <wchar.h> |
_mbsrev , _mbsrev_l |
<mbstring.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Esempio
// crt_strrev.c
// This program checks a string to see
// whether it is a palindrome: that is, whether
// it reads the same forward and backward.
//
#include <string.h>
#include <stdio.h>
int main( void )
{
char* string = "Able was I ere I saw Elba";
int result;
// Reverse string and compare (ignore case):
result = _stricmp( string, _strrev( _strdup( string ) ) );
if( result == 0 )
printf( "The string \"%s\" is a palindrome\n", string );
else
printf( "The string \"%s\" is not a palindrome\n", string );
}
The string "Able was I ere I saw Elba" is a palindrome
Vedi anche
Manipolazione delle stringhe
impostazioni locali
Interpretazione di sequenze di caratteri multibyte
strcpy
, wcscpy
, _mbscpy
_strset
, _strset_l
, _wcsset
, _wcsset_l
, _mbsset
_mbsset_l