Condividi tramite


_strrev, _wcsrev, _mbsrev, _mbsrev_l

Inverte i caratteri di una stringa.

Importante

_mbsrev e _mbsrev_l non possono essere utilizzate nelle applicazioni eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /ZW.

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 utilizzare.

Valore restituito

Restituisce un puntatore alla stringa modificata. Nessun valore restituito è riservato per indicare un errore.

Note

La funzione _strrev inverte l'ordine dei caratteri in string. Il carattere di terminazione null rimane sul posto. _wcsrev e _mbsrev sono versioni a caratteri di tipo "wide" e di caratteri multibyte di _strrev. Gli argomenti e il valore restituito di _wcsrev sono stringhe di caratteri di tipo "wide", quelli di _mbsrev sono stringhe di caratteri multibyte. Per _mbsrev, l'ordine di byte in ogni carattere multibyte in string non viene modificato. Altrimenti queste tre funzioni si comportano in modo identico.

_mbsrev convalida i suoi parametri. Se string1 o string2 è un puntatore null, viene richiamato il gestore di parametro non valido, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, _mbsrev ritorna NULL e imposta errno a EINVAL. _strrev e _wcsrev non convalidano i relativi parametri.

Il valore di output è interessato dall'impostazione dell'impostazione della categoria LC_CTYPE delle impostazioni locali. Vedere setlocale, _wsetlocale per ulteriori informazioni. Le versioni di queste funzioni sono identiche, eccetto una non avente il suffisso _l che usa le impostazioni locali e l'altra che invece possiede il suffisso _l usa i parametri locali passati. Per ulteriori informazioni, vedere Impostazioni locali.

Nota sulla sicurezzaNota sulla sicurezza

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 ulteriori informazioni, vedere Evitare sovraccarichi del buffer.

Mapping di routine su testo generico

Routine TCHAR.H

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_tcsrev

_strrev

_mbsrev

_wcsrev

n/d

n/d

_mbsrev_l

n/d

Requisiti

Routine

Intestazione obbligatoria

_strrev

<string.h>

_wcsrev

<string.h> o <wchar.h>

_mbsrev, _mbsrev_l

<mbstring.h>

Per ulteriori informazioni sulla compatibilità, vedere 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 );
}
  

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di platform invoke.

Vedere anche

Riferimenti

Modifica di stringhe (CRT)

Impostazioni locali

Interpretazione di sequenze di caratteri multibyte

strcpy, wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l