Partilhar via


_strrev, _wcsrev, _mbsrev, _mbsrev_l

Inverte os caracteres de uma cadeia de caracteres.

Observação importanteImportante

_mbsrev e _mbsrev_l não podem ser usados em aplicativos executados em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /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 );

Parâmetros

  • str
    Cadeia de caracteres NULL-finalizada a inverter.

  • locale
    A localidade usar.

Valor de retorno

Retorna um ponteiro para a cadeia de caracteres modificada.Nenhum valor de retorno é reservado para indicar um erro.

Comentários

A função de _strrev inverte a ordem de caracteres em string.O caractere nulo de terminação permanece no lugar._wcsrev e _mbsrev são versões de largo- caractere e o caractere multibyte- de _strrev.Os argumentos e o valor de retorno de _wcsrev são cadeias de caracteres de largo- caractere; essas de _mbsrev são cadeias de caracteres de multibyte- caractere.Para _mbsrev, a ordem de bytes em cada caractere de multibyte em string não é alterado.Essas três funções se comportam de forma idêntica.

_mbsrev valida os seus parâmetros.Se string1 ou string2 são um ponteiro zero, o manipulador inválido do parâmetro é invocado, como descrito em Validação de parâmetro.Se a execução é permitida continuar, _mbsrev retorna NULL e defina errno a EINVAL._strrev e _wcsrev não validam seus parâmetros.

O valor de saída é afetado pela configuração da categoria de LC_CTYPE de localidade; consulte setlocale, wsetlocale para mais informações.As versões dessas funções são idênticas, exceto as que não têm o uso do sufixo de _l a localidade atual e as seguintes que têm o sufixo de_l usar o parâmetro de localidade que é passado.Para obter mais informações, consulte Localidade.

Observação de segurançaObservação de segurança

Essas funções podem ser vulneráveis armazenar em buffer ameaças de estouro.Estouros de buffer podem ser usadas para ataques do sistema como podem causar uma despropositado elevação de privilégio.Para obter mais informações, consulte Evitando estouros de buffer.

Mapeamentos da rotina de Genérico- texto

Rotina de TCHAR.H

_UNICODE & _MBCS não definidos

_MBCS definido

_UNICODE definido

_tcsrev

_strrev

_mbsrev

_wcsrev

n/d

n/d

_mbsrev_l

n/d

Requisitos

Rotina

Cabeçalho necessário

_strrev

<string.h>

_wcsrev

<string.h> ou <wchar.h>

_mbsrev, _mbsrev_l

<mbstring.h>

Para informações extras de compatibilidade, consulte Compatibilidade.

Exemplo

// 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 );
}
  

Equivalência do .NET Framework

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Manipulação de cadeia de caracteres (CRT)

Localidade

Interpretação de seqüências de caracteres Multibyte

strcpy, wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l