_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)