Udostępnij za pośrednictwem


_strrev, _wcsrev, _mbsrev, _mbsrev_l

Odwraca znaków ciągu.

Ważna uwagaWażne

_mbsrevi _mbsrev_l nie można używać w aplikacji, których wykonywanie w Środowisko wykonawcze systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsługiwane przez /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
    Ciąg zakończony znakiem null, aby odwrócić.

  • locale
    Ustawienia regionalne używane.

Wartość zwracana

Zwraca wskaźnik do zmienionych ciągu.Nie zwraca żadnej wartości jest zarezerwowany wystąpił błąd.

Uwagi

_strrev Funkcja Odwraca kolejność znaków w string.Kończącego znaku null pozostaje na miejscu._wcsrevi _mbsrev szerokich znaków i znaków wielobajtowych wersje _strrev.Argumenty i wartości zwracanej przez _wcsrev są ciągami szerokich znaków; tych z _mbsrev są ciągami znaków wielobajtowych.Dla _mbsrev, kolejność bajtów w każdym znaków wielobajtowych w string nie ulega zmianie.Zmienia tych trzech funkcji zachowanie takich samych nazwach.

_mbsrevsprawdza poprawność jego parametry.Jeśli każda string1 lub string2 jest pusty wskaźnik, program obsługi nieprawidłowy parametr jest wywoływana, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, _mbsrev zwraca NULL i ustawia errno do EINVAL._strrevi _wcsrev nie są zgodne z nimi parametrów.

Wartość produkcji jest zależny od ustawienia z LC_CTYPE kategorii ustawienie regionalne tzn. zobacz setLocale, _wsetlocale Aby uzyskać więcej informacji.Wersje te funkcje są identyczne, z tym, że te nie mają _l sufiks Użyj bieżących ustawień regionalnych i tych, które mają_l sufiks zamiast tego użyć parametru ustawień regionalnych, który jest przekazywana.Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Tych funkcji może być narażony na zagrożenia przepełnienie buforu.Przekroczenia buforu może służyć do systemu ataków, ponieważ mogą one powodować nieuzasadnione podniesienie uprawnień.Aby uzyskać więcej informacji, zobacz Unikanie przekroczeniem buforu.

Tekst rodzajowy rutynowych mapowania

TCHAR.Rozpoczęto wykonywanie procedury h

_UNICODE & _MBCS nie zdefiniowany

_MBCS, definicja

_UNICODE, definicja

_tcsrev

_strrev

_mbsrev

_wcsrev

n/d

n/d

_mbsrev_l

n/d

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_strrev

<string.h>

_wcsrev

<string.h> lub <wchar.h>

_mbsrev, _mbsrev_l

<mbstring.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz Zgodność.

Przykład

// 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 );
}
  

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywoływać funkcji C standardowej, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Platforma wywołać przykłady.

Zobacz też

Informacje

Manipulowanie ciągami (CRT)

Ustawienia regionalne

Interpretacja sekwencje znaków wielobajtowych

strcpy, wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l