_strrev, _wcsrev, _mbsrev, _mbsrev_l

Inverta caracteres de uma seqüência de caracteres.

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
    Seqüência terminada por caractere nulo para reverter.

  • locale
    Localidade usar.

Valor de retorno

Retorna um ponteiro para a seqüência alterada.Nenhum valor retornado é reservado para indicar um erro.

Comentários

The _strrev função inverte a ordem dos caracteres string. O caractere nulo de terminação permanece no lugar._wcsrev e _mbsrev são versões de caractere largo e caracteres de multibyte de _strrev. Os argumentos e o valor retornado do _wcsrev são caractere largos strings; as de _mbsrev são seqüências de caractere de multibyte. For _mbsrev, a ordem dos bytes em cada caractere multibyte string não é alterado. Especifique estas três funções identicamente outro comportam.

_mbsrev valida os parâmetros. Se qualquer um dos string1 ou string2 é um ponteiro nulo, o manipulador de parâmetro inválido é invocado, sistema autônomo descrito em Validação de parâmetro. Se a execução for permitida para continuar, _mbsrev Retorna NULL e conjuntos errno para EINVAL. _strrev e _wcsrev não validam seus parâmetros.

O valor de saída é afetado pela configuração do LC_CTYPE categoria de configuração da localidade; consulte setlocale para obter mais informações.As versões dessas funções sem o _l sufixo use a localidade corrente para esse comportamento dependente de localidade; as versões com o _l sufixo são idênticas exceto que usarem o parâmetro de localidade passado em vez disso. For more information, see Localidade.

Observação de segurança    Essas funções incorrer em uma ameaça potencial colocada um problema de saturação de buffer.Problemas de saturação de buffer são um método de ataque do sistema, resultando em uma elevação do privilégio unwarranted freqüente.Para obter mais informações, consulte Evitar saturações de buffer.

Mapeamentos de rotina de texto genérica

Rotina TCHAR.H

_UNICODE & _MBCS não definido

_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 obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.

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

The string "Able was I ere I saw Elba" is a palindrome

Equivalente do NET Framework

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

Consulte também

Referência

Manipulação de seqüência de caracteres (CRT)

Localidade

Interpretação de seqüências de caractere multibyte

strcpy wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l