_strrev
, _wcsrev
, _mbsrev
, _mbsrev_l
Dizenin karakterlerini ters çevirir.
Önemli
_mbsrev
ve _mbsrev_l
Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz. Daha fazla bilgi için bkz. Evrensel Windows Platformu uygulamalarında desteklenmeyen CRT işlevleri.
Sözdizimi
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
Ters çevrilecek null ile sonlandırılan dize.
locale
Kullanılacak yerel ayar.
Dönüş değeri
Değiştirilen dizeye bir işaretçi döndürür. Hata belirtmek için hiçbir dönüş değeri ayrılmaz.
Açıklamalar
işlevi içindeki _strrev
karakterlerin str
sırasını tersine çevirir. Sonlandırıcı null karakter yerinde kalır. _wcsrev
ve _mbsrev
geniş karakterli ve çok baytlı sürümleridir _strrev
. bağımsız değişkenleri ve dönüş değeri _wcsrev
geniş karakterli dizelerdir. bağımsız değişkenleri ve dönüş değeri _mbsrev
çok baytlı karakter dizeleridir. için _mbsrev
içindeki her çok baytlı karakterdeki str
baytların sırası değiştirilmez. Bu üç işlev aynı şekilde davranır.
_mbsrev
parametrelerini doğrular. string1
Veya string2
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 etmesi için izin verilirse, _mbsrev
döndürür NULL
ve olarak EINVAL
ayarlanırerrno
. _strrev
ve _wcsrev
parametrelerini doğrulamaz.
Çıkış değeri, yerel ayarın LC_CTYPE
kategori ayarının ayarından etkilenir. Daha fazla bilgi için bkz. setlocale
. Bu işlevlerin sürümleri aynıdır, ancak son ekine sahip _l
olmayanlar geçerli yerel ayarı, son ekine sahip _l
olanlar ise geçirilen yerel ayar parametresini kullanır. Daha fazla bilgi için bkz . Yerel Ayar.
Önemli
Bu işlevler arabellek taşması tehditlerine karşı savunmasız olabilir. Arabellek taşmaları, sistem saldırıları için kullanılabilir çünkü bunlar gereksiz ayrıcalık yükseltmesine neden olabilir. Daha fazla bilgi için bkz . Arabellek taşmalarından kaçınma.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Genel metin yordamı eşlemeleri
TCHAR.H yordamı | _UNICODE ve _MBCS tanımlanmadı |
_MBCS tanımlanan |
_UNICODE tanımlanan |
---|---|---|---|
_tcsrev |
_strrev |
_mbsrev |
_wcsrev |
Yok | Yok | _mbsrev_l |
Yok |
Gereksinimler
Yordam | Gerekli başlık |
---|---|
_strrev |
<string.h> |
_wcsrev |
<string.h> veya <wchar.h> |
_mbsrev , _mbsrev_l |
<mbstring.h> |
Daha fazla uyumluluk bilgisi 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 );
}
The string "Able was I ere I saw Elba" is a palindrome
Ayrıca bkz.
Dize işleme
Yerel ayar
Çok baytlı karakter dizilerinin yorumlanması
strcpy
, wcscpy
, _mbscpy
_strset
, _strset_l
, _wcsset
, , _wcsset_l
, _mbsset
, _mbsset_l