Freigeben über


_strrev, _wcsrev, _mbsrev, _mbsrev_l

Kehrt die Zeichen einer Zeichenfolge um.

Wichtig

_mbsrev und _mbsrev_l können in Anwendungen, die in Windows-Runtime ausgeführt werden, nicht verwendet werden.Weitere Informationen finden Sie unter CRT-Funktionen nicht mit /ZW unterstützt.

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

Parameter

  • str
    Umzukehrende auf NULL endende Zeichenfolge.

  • locale
    Zu verwendendes Gebietsschema.

Rückgabewert

Gibt einen Zeiger zur geänderten Zeichenfolge zurück. Kein Rückgabewert ist zur Fehleranzeige reserviert.

Hinweise

Die _strrev-Funktion kehrt die Reihenfolge der Elemente in string um. Das abschließende NULL-Zeichen bleibt bestehen. _wcsrev und _mbsrev sind Breitzeichen- und Multibytezeichenversionen von _strrev. Die Argumente und der Rückgabewert von _wcsrev sind Breitzeichen-Zeichenfolgen; die von _mbsrev sind Mehrbyte-Zeichenfolgen. Bei _mbsrev wird die Reihenfolge von Bytes in jedem Multibytezeichen in string nicht geändert. Diese drei Funktionen verhalten sich andernfalls identisch.

_mbsrev überprüft die eigenen Parameter. Wenn entweder string1 oder string2 ein NULL-Zeiger ist, wird, wie in Parametervalidierung beschrieben, der Handler für ungültige Parameter aufgerufen. Wenn die weitere Ausführung zugelassen wird, gibt _mbsrevNULL zurück und setzt errno auf EINVAL. _strrev und _wcsrev überprüfen ihre Parameter nicht.

Der Ausgabewert ist von der LC_CTYPE-Kategorieneinstellung des Gebietsschemas betroffen; weitere Informationen finden Sie unter setlocale, _wsetlocale. Die Versionen dieser Funktionen sind nahezu identisch, außer dass diejenigen ohne das _l-Suffix das aktuelle Gebietsschema verwenden, und diejenigen mit _l-Suffix den übergebenen Gebietsschemaparameter. Weitere Informationen finden Sie unter Locale.

SicherheitshinweisSicherheitshinweis

Diese Funktionen sind möglicherweise für Pufferüberlaufrisiken anfällig.Pufferüberläufe können für Systemangriffe eingesetzt werden, da sie zu einer unbefugten Ausweitung der Berechtigungen führen.Weitere Informationen finden Sie unter Vermeiden von Pufferüberläufen.

Zuordnung generischer Textroutinen

TCHAR.H-Routine

_UNICODE & _MBCS nicht definiert

_MBCS definiert

_UNICODE definiert

_tcsrev

_strrev

_mbsrev

_wcsrev

nicht verfügbar

nicht verfügbar

_mbsrev_l

nicht verfügbar

Anforderungen

Routine

Erforderlicher Header

_strrev

<string.h>

_wcsrev

<string.h> oder <wchar.h>

_mbsrev, _mbsrev_l

<mbstring.h>

Zusätzliche Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Beispiel

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

.NET Framework-Entsprechung

Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.

Siehe auch

Referenz

Zeichenfolgenbearbeitung (CRT)

Locale

Interpretation von Mehrbytezeichensequenzen

strcpy, wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l