Sdílet prostřednictvím


_strrev, _wcsrev, _mbsrev, _mbsrev_l

Vrátí znaky řetězce.

Důležité

_mbsreva _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ě. _wcsreva _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í _mbsrevbajtů 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 string2string1 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 Definovány _UNICODE Definovány
_tcsrev _strrev _mbsrev _wcsrev
N/a N/a _mbsrev_l N/a

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