_strrev
, , _wcsrev
_mbsrev
_mbsrev_l
Kehrt die Zeichen einer Zeichenfolge um.
Wichtig
_mbsrev
und _mbsrev_l
können nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden. Weitere Informationen finden Sie im Artikel CRT functions not supported in Universal Windows Platform apps (In Apps für die universelle Windows-Plattform nicht unterstützte CRT-Funktionen).
Syntax
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 str
um. Das abschließende NULL-Zeichen bleibt bestehen. _wcsrev
und _mbsrev
sind Breitzeichen- und Multibytezeichenversionen von _strrev
. Die Argumente und der Rückgabewert _wcsrev
sind Zeichenfolgen mit breitem Zeichen. Die Argumente und der Rückgabewert sind _mbsrev
Multibyte-Zeichenfolgen. For _mbsrev
, the order of bytes in each multibyte character in str
isn't changed. Diese drei Funktionen verhalten sich andernfalls identisch.
_mbsrev
überprüft die eigenen Parameter. Wenn es sich um string1
string2
einen Nullzeiger handelt, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt _mbsrev
NULL
zurück und setzt errno
auf EINVAL
. _strrev
und _wcsrev
überprüfen Sie ihre Parameter nicht.
Der Ausgabewert wird durch die Einstellung der LC_CTYPE
Kategorieeinstellung des Gebietsschemas beeinflusst. Weitere Informationen finden Sie unter setlocale
. 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.
Wichtig
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.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Mapping generischer Textroutinen
TCHAR.H-Routine | _UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_tcsrev |
_strrev |
_mbsrev |
_wcsrev |
Nicht zutreffend | Nicht zutreffend | _mbsrev_l |
Nicht zutreffend |
Anforderungen
Routine | Erforderlicher Header |
---|---|
_strrev |
<string.h> |
_wcsrev |
<string.h> oder <wchar.h> |
_mbsrev , _mbsrev_l |
<mbstring.h> |
Weitere 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 );
}
The string "Able was I ere I saw Elba" is a palindrome
Siehe auch
Zeichenfolgenbearbeitung
Gebietsschema
Interpretation von Multibytezeichensequenzen
strcpy
, wcscpy
_mbscpy
_strset
, , _strset_l
_wcsset
, _wcsset_l
, , _mbsset
_mbsset_l