_strrev, _wcsrev, _mbsrev, _mbsrev_l
Invierte los caracteres de una cadena.
Importante |
---|
_mbsrev y _mbsrev_l no se pueden utilizar en las aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones CRT no compatibles 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
);
Parámetros
str
Cadena terminada en null invertir.locale
Configuración regional a utilizar.
Valor devuelto
Devuelve un puntero a la cadena modificada.No se reserva ningún valor devuelto para indicar un error.
Comentarios
La función de _strrev invierte el orden de los caracteres de string.Permanece el carácter null de terminación en contexto._wcsrev y _mbsrev son versiones de caracteres anchos y de multibyte- carácter de _strrev.Los argumentos y el valor devuelto de _wcsrev son cadenas de caracteres; las de _mbsrev son cadenas de multibyte- carácter.Para _mbsrev, el orden de bytes en cada carácter multibyte en string no cambia.Estas tres funciones se comportan exactamente igual de otra manera.
_mbsrev valida sus parámetros.Si string1 o string2 es un puntero NULL, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, _mbsrev devuelve NULL y establece errno a EINVAL._strrev y _wcsrev no validan sus parámetros.
El valor de salida se ve afectado por el valor de la categoría de LC_CTYPE de configuración regional; vea setlocale, _wsetlocale para obtener más información.Las versiones de estas funciones son idénticas, excepto en que las que no tienen el uso del sufijo de _l la configuración regional actual y las que tienen el sufijo de _l en su lugar utilice el parámetro de configuración regional que se pasa.Para obtener más información, vea Configuración regional.
Nota sobre la seguridad |
---|
Estas funciones pueden ser vulnerables a amenazas de saturación del búfer.Las saturaciones del búfer se pueden utilizar para ataques del sistema porque pueden producir una elevación de privilegios injustificable.Para obtener más información, vea Para evitar las saturaciones del búfer. |
Asignaciones de la rutina de Genérico- texto
Rutina de TCHAR.H |
_UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcsrev |
_strrev |
_mbsrev |
_wcsrev |
no disponible |
no disponible |
_mbsrev_l |
no disponible |
Requisitos
Rutina |
Encabezado necesario |
---|---|
_strrev |
<string.h> |
_wcsrev |
<string.h> o <wchar.h> |
_mbsrev, _mbsrev_l |
<mbstring.h> |
Para obtener información adicional de compatibilidad, vea Compatibilidad.
Ejemplo
// 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 en .NET Framework
No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.