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