Sdílet prostřednictvím


_strrev, _wcsrev, _mbsrev, _mbsrev_l

Obrátí znaky v řetězci

Důležitá poznámkaDůležité

_mbsrev a _mbsrev_l nelze použít v aplikacích, které jsou spouštěny v prostředí Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW.

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 zakončený null pro obrácení.

  • locale
    Použité národní prostředí.

Vrácená hodnota

Vrací ukazatel na upravený řetězec.Není rezervována žádná vrácená hodnota pro indikaci chyby.

Poznámky

Funkce _strrev obrátí pořadí znaků v string.Ukončující znak null zůstává na místě._wcsrev a _mbsrev jsou širokoznaká verze a verze vícebajtového znaku _strrev.Argumenty a vrácené hodnoty _wcsrev jsou širokoznaké řetězce. Hodnoty _mbsrev jsou vícebajtové znakové řetězce.Pro _mbsrev se pořadí bajtů v každém vícebajtovém znaku v string nezmění.Tyto tři funkce se chovají identicky jinak.

_mbsrev ověří jeho parametry.Pokud string1 nebo string2 je ukazatel s hodnotou null, je vyvolán neplatný parametr obslužné rutiny, jak je popsáno v Ověření parametru.Pokud provádění může pokračovat, _mbsrev vrátí NULL a nastaví errno na EINVAL._strrev a _wcsrev neověří jejich parametry.

Výstupní hodnota je ovlivněna nastavením kategorie LC_CTYPE národního prostředí; viz setlocale, _wsetlocale pro další informace.Verze těchto funkcí jsou identické, s výjimkou toho, že ty, které nemají příponu _l používají aktuální národní prostředí, a ty, které mají příponu _l namísto toho používají předaný parametr národního prostředí.Další informace naleznete v tématu Národní prostředí.

Poznámka k zabezpečeníPoznámka k zabezpečení

Tyto funkce by mohly být vystaveny ohrožení přetečení vyrovnávací paměti.Přetečení zásobníku lze použít pro systémové útoky, protože mohou způsobit neoprávněné zvýšení úrovně oprávnění.Další informace naleznete v tématu Předcházení přetečení vyrovnávací paměti.

Rutinní mapování obecného textu

Rutina TCHAR.H

_UNICODE & _MBCS není definováno

_MBCS definováno

_UNICODE definováno

_tcsrev

_strrev

_mbsrev

_wcsrev

není k dispozici

není k dispozici

_mbsrev_l

není k dispozici

Požadavky

Rutina

Požadované záhlaví

_strrev

<string.h>

_wcsrev

<string.h> nebo <wchar.h>

_mbsrev, _mbsrev_l

<mbstring.h>

Další informace o kompatibilitě naleznete 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 );
}
  

Ekvivalent v rozhraní .NET Framework

Nelze použít. Pokud chcete volat standardní funkci jazyka C, použijte PInvoke. Další informace naleznete v tématu Příklady vyvolání platformy.

Viz také

Referenční dokumentace

Zacházení s řetězci (CRT)

Národní prostředí

Výklad sekvencí vícebajtových znaků

strcpy, wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l