Condividi tramite


_strrev, _wcsrev, _mbsrev, _mbsrev_l

Inverte i caratteri di una stringa.

Nota importanteImportante

_mbsrev e _mbsrev_l non possono essere utilizzati 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 di _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, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, _mbsrev restituisce NULL e imposta errno a EINVAL._strrev e _wcsrev non convalidano i relativi parametri.

Il valore di output è interessato dall'impostazione dell'impostazione di categoria di LC_CTYPE delle impostazioni locali; vedere setlocale, _wsetlocale per ulteriori informazioni.Le versioni di queste funzioni sono identiche, eccetto quelli che non dispongano dell'utilizzo di _l le impostazioni locali correnti e quelle che eseguono il suffisso di_l utilizzare invece il parametro delle impostazioni locali passato.Per ulteriori informazioni, vedere Impostazioni locali.

Nota sulla sicurezzaNota sulla sicurezza

Queste funzioni potrebbero essere vulnerabile 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 ingiustificata.Per ulteriori informazioni, vedere Evitare sovraccarichi del buffer.

Mapping di routine a Testo generico

TCHAR.H routine

_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 informazioni aggiuntive di 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 delle stringhe (CRT)

Impostazioni locali

Interpretazione delle sequenze di caratteri multibyte

strcpy, wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l