_strdec, _wcsdec, _mbsdec, _mbsdec_l

Dize işaretçisini bir karakter geriye taşır.

Önemli

_mbsdecve _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_liç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_liçin) işaretçisi; kaynak dizede current izlenmelidir start .

locale
Kullanılacak yerel ayar.

Dönüş değeri

_mbsdec, _mbsdec_l, _strdecve _wcsdec her biri hemen önündeki currentkaraktere bir işaretçi döndürür; _mbsdec değerinin start değerinden büyük veya değerine eşitse currentdö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 startdizeden 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 EINVALayarlanı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