_strdec
, _wcsdec
, _mbsdec
, _mbsdec_l
Dize işaretçisini bir karakter geriye taşır.
Önemli
_mbsdec
ve _mbsdec_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
unsigned char *_strdec(
const unsigned char *start,
const unsigned char *current
);
unsigned wchar_t *_wcsdec(
const unsigned wchar_t *start,
const unsigned wchar_t *current
);
unsigned char *_mbsdec(
const unsigned char *start,
const unsigned char *current
);
unsigned char *_mbsdec_l(
const unsigned char *start,
const unsigned char *current,
_locale_t locale
);
Parametreler
start
Kaynak dizedeki herhangi bir karakterin (veya için _mbsdec
ve _mbsdec_l
için) işaretçisi; start
kaynak dizeden önce current
gelen çok baytlı bir karakterin ilk baytını içermelidir.
current
Kaynak dizedeki herhangi bir karakterin (veya için _mbsdec
ve _mbsdec_l
için) işaretçisi; kaynak dizede current
izlenmelidir start
.
locale
Kullanılacak yerel ayar.
Dönüş değeri
_mbsdec
, _mbsdec_l
, _strdec
ve _wcsdec
her biri hemen önündeki current
karaktere bir işaretçi döndürür; _mbsdec
değerinin start
değerinden büyük veya değerine eşitse current
döndürürNULL
. _tcsdec
bu işlevlerden biriyle eşler ve dönüş değeri eşlemeye bağlıdır.
Açıklamalar
ve _mbsdec_l
işlevleri, _mbsdec
içeren start
dizeden hemen önce current
gelen çok baytlı karakterin ilk baytını gösteren bir işaretçi döndürür.
Çıkış değeri, yerel ayarın LC_CTYPE
kategori ayarının ayarından etkilenir. Daha fazla bilgi için bkz. setlocale
, _wsetlocale
. _mbsdec
kullanımda olan yerel ayara göre çok baytlı karakter dizilerini tanır, _mbsdec_l
ancak bunun yerine geçirilen yerel ayar parametresini kullanması dışında aynıdır. Daha fazla bilgi için bkz . Yerel Ayar.
veya start
current
iseNULL
, parametre doğrulamasında açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, bu işlev döndürür EINVAL
ve olarak EINVAL
ayarlanırerrno
.
Ö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 |
---|---|---|---|
_tcsdec |
_strdec |
_mbsdec |
_wcsdec |
_strdec
ve _wcsdec
ve 'nin tek baytlı ve geniş karakterli sürümleridir _mbsdec
_mbsdec_l
. _strdec
ve _wcsdec
yalnızca bu eşleme için sağlanır ve aksi halde kullanılmamalıdır.
Daha fazla bilgi için bkz . Genel metin eşlemelerini ve Genel metin eşlemelerini kullanma.
Gereksinimler
Yordam | Gerekli başlık | İsteğe bağlı üst bilgi |
---|---|---|
_mbsdec |
<mbstring.h> | <mbctype.h> |
_mbsdec_l |
<mbstring.h> | <mbctype.h> |
_strdec |
<tchar.h> | |
_wcsdec |
<tchar.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
Aşağıdaki örnekte kullanımı gösterilmektedir _tcsdec
.
// crt_tcsdec.cpp
// Compile by using: cl /EHsc crt_tcsdec.cpp
#include <iostream>
#include <tchar.h>
using namespace std;
int main()
{
const TCHAR *str = _T("12345");
cout << "str: " << str << endl;
const TCHAR *str2;
str2 = str + 2;
cout << "str2: " << str2 << endl;
TCHAR *answer;
answer = _tcsdec( str, str2 );
cout << "answer: " << answer << endl;
return (0);
}
Aşağıdaki örnekte kullanımı gösterilmektedir _mbsdec
.
// crt_mbsdec.cpp
// Compile by using: cl /EHsc crt_mbsdec.c
#include <iostream>
#include <mbstring.h>
using namespace std;
int main()
{
char *str = "12345";
cout << "str: " << str << endl;
char *str2;
str2 = str + 2;
cout << "str2: " << str2 << endl;
unsigned char *answer;
answer = _mbsdec( reinterpret_cast<unsigned char *>( str ), reinterpret_cast<unsigned char *>( str2 ));
cout << "answer: " << answer << endl;
return (0);
}
Ayrıca bkz.
Dize işleme
_strinc
, _wcsinc
, _mbsinc
, _mbsinc_l
_strnextc
, _wcsnextc
, _mbsnextc
, _mbsnextc_l
_strninc
, _wcsninc
, _mbsninc
, _mbsninc_l