_strrev, _wcsrev, _mbsrev, _mbsrev_l
Bir dizenin karakterlerini tersine çevirir.
Önemli |
---|
_mbsrev ve _mbsrev_l, Windows Çalışma Zamanı içinde yürütülen uygulamalarda kullanılamazlar.Daha fazla bilgi için bkz /ZW ile desteklenmeyen CRT işlevleri. |
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
);
Parametreler
str
Tersine çevirmek için null ile sonlandırılmış dize.locale
Kullanılacak yerel ayar.
Dönüş Değeri
Bir işaretçiyi, değiştirilen dizeye geri getirir.Bir hata gösterecek bir dönüş değeri ayrılmamış.
Notlar
_strrev işlevi string içindeki karakterlerin sırasını tersine çevirir.Sonlandırma boş karakteri yerinde kalır._wcsrev ve _mbsrev_strrev öğesinin geniş karakter ve çok baytlı karakter sürümleridir.Bağımsız değişkenler ve _wcsrev dönüş değeri geniş karakterli dizelerdir; _mbsrev dizeleri çok baytlı karakter dizeleridir._mbsrev için, string öğesindeki her bir çok baytlı karakterdeki bayt sırası değiştirilemez.Bu üç işlev, aynı şekilde davranır.
_mbsrev kendi parametrelerini doğrular.string1 veya string2 bir null işaretçiyse, Parametre Doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisi çağrılır.Yürütmenin devam etmesine izin verilirse, _mbsrevNULL döndürür ve errno öğesini EINVAL olarak ayarlar._strrev ve _wcsrev kendi parametrelerini doğrulamazlar.
Çıkış değeri yerel ayarın LC_CTYPE kategori ayarından etkilenir, daha fazla bilgi için setlocale, _wsetlocale.Bu işlevlerin sürümleri, geçerli yerel ayarı kullanan _l sonekine sahip olmayan ve _l soneki yerine geçirilen yerel ayar parametresini kullanan işlevler haricinde aynıdır.Daha fazla bilgi için bkz. Yerel Ayar.
Güvenlik Notu |
---|
Bu işlevler, arabellek taşma tehditlerine açık olabilir.Arabellek taşmaları, garanti edilmeyen bir ayrıcalık yükseltmesine yol açabildiklerinden sistem saldırıları için kullanılabilir.Daha fazla bilgi için, bkz. Arabellek Taşmalarını Önleme. |
Genel Metin Yordam Eşleşmeleri
TCHAR.H yordamı |
_UNICODE & _MBCS tanımlanmamış |
_MBCS tanımlanmış |
_UNICODE tanımlanmış |
---|---|---|---|
_tcsrev |
_strrev |
_mbsrev |
_wcsrev |
n/a |
n/a |
_mbsrev_l |
n/a |
Gereksinimler
Yordam |
Gerekli başlık |
---|---|
_strrev |
<string.h> |
_wcsrev |
<string.h> or <wchar.h> |
_mbsrev, _mbsrev_l |
<mbstring.h> |
Ek uyumluluk bilgileri için bkz. Uyumluluk.
Örnek
// 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 Eşdeğeri
Uygulanamaz. Standart C işlevini çağırmak için PInvoke kullanın. Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.