_strrev, _wcsrev, _mbsrev, _mbsrev_l
Inverte os caracteres de uma cadeia de caracteres.
Importante |
---|
_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ç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)