Compartir a través de


_strrev, _wcsrev, _mbsrev, _mbsrev_l

Invierte los caracteres de una cadena.

Importante

_mbsrev y _mbsrev_l no se pueden usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones de CRT no admitidas 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 que se va a invertir.

  • locale
    Configuración regional que se va a usar.

Valor devuelto

Devuelve un puntero a la cadena modificada. No se reserva ningún valor devuelto para indicar un error.

Comentarios

La función _strrev invierte el orden de los caracteres de string. El carácter nulo de finalización no cambia de lugar. _wcsrev y _mbsrev son versiones de caracteres anchos y multibyte de _strrev. Los argumentos y el valor devuelto de _wcsrev son cadenas de caracteres anchos; los de _mbsrev son cadenas de caracteres multibyte. En el caso de _mbsrev, el orden de los bytes de cada carácter multibyte de string no cambia. Estas tres funciones se comportan exactamente igual.

_mbsrev valida sus parámetros. Si string1 o string2 es un puntero nulo, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, _mbsrev devuelve NULL y establece errno en EINVAL. _strrev y _wcsrev no validan sus parámetros.

El valor de salida se ve afectado por el valor de la categoría LC_CTYPE de la configuración regional; vea setlocale, _wsetlocale para obtener más información. Las versiones de estas funciones son idénticas, salvo que las que no tienen el sufijo _l usan la configuración regional actual y las que tienen el sufijo _l usan el parámetro de configuración regional que se pasa. Para obtener más información, vea Configuración regional.

Nota de seguridadNota sobre la seguridad

Estas funciones pueden ser vulnerables a amenazas de saturación del búfer.Las saturaciones del búfer se pueden usar para ataques del sistema, ya que pueden producir una elevación de privilegios no justificada.Para obtener más información, vea Evitar saturaciones del búfer.

Asignaciones de rutina de texto genérico

Rutina 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, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Vea también

Referencia

Manipulación de cadenas (CRT)

Configuración regional

Interpretación de secuencias de caracteres de varios bytes

strcpy, wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l