_strrev
, _wcsrev
, , _mbsrev
_mbsrev_l
Vrátí znaky řetězce.
Důležité
_mbsrev
a _mbsrev_l
nelze je použít v aplikacích, které se spouští v prostředí Windows Runtime. Další informace najdete v tématu Funkce CRT, které nejsou v aplikacích Univerzální platforma Windows podporované.
Syntaxe
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
);
Parametry
str
Řetězec ukončený hodnotou null, který se má vrátit zpět.
locale
Národní prostředí, které se má použít.
Vrácená hodnota
Vrátí ukazatel na změněný řetězec. Žádná návratová hodnota není vyhrazena k označení chyby.
Poznámky
Funkce _strrev
obrátí pořadí znaků v str
. Ukončující znak null zůstane na místě. _wcsrev
a _mbsrev
jsou širokoznakové a vícebajtové verze ._strrev
Argumenty a návratová hodnota jsou řetězce širokého znaku _wcsrev
. Argumenty a návratová _mbsrev
hodnota jsou řetězce s vícebajtovými znaky. Pořadí _mbsrev
bajtů v každém vícebajtovém znaku str
se nezmění. Tyto tři funkce se chovají stejně jinak.
_mbsrev
ověří jeho parametry. Pokud je nebo string2
string1
je ukazatel null, je vyvolána neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je povoleno pokračovat provádění, _mbsrev
vrátí NULL
a nastaví errno
hodnotu EINVAL
. _strrev
a _wcsrev
neověřujte jejich parametry.
Výstupní hodnota je ovlivněna nastavením LC_CTYPE
nastavení kategorie národního prostředí. Další informace najdete na webu setlocale
. Verze těchto funkcí jsou stejné, s výjimkou těch, které nemají příponu _l
, používají aktuální národní prostředí a ty, které mají příponu _l
, místo toho používají předaný parametr národního prostředí. Další informace naleznete v tématu Národní prostředí.
Důležité
Tyto funkce můžou být ohrožené hrozbami přetečení vyrovnávací paměti. Přetečení vyrovnávací paměti se dá použít pro systémové útoky, protože můžou způsobit neoprávněné zvýšení oprávnění. Další informace najdete v tématu Zabránění přetečení vyrovnávací paměti.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Mapování rutin obecného textu
Rutina TCHAR.H | _UNICODE a _MBCS není definován |
_MBCS definovaný |
_UNICODE definovaný |
---|---|---|---|
_tcsrev |
_strrev |
_mbsrev |
_wcsrev |
není k dispozici | není k dispozici | _mbsrev_l |
není k dispozici |
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_strrev |
<string.h> |
_wcsrev |
<string.h> nebo <wchar.h> |
_mbsrev , _mbsrev_l |
<mbstring.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// 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
Viz také
Manipulace s řetězci
Národní prostředí
Interpretace vícebajtových sekvencí znaků
strcpy
, , wcscpy
_mbscpy
_strset
, _strset_l
, _wcsset
, _wcsset_l
, , _mbsset
_mbsset_l