Aracılığıyla paylaş


_mbsnbcpy, _mbsnbcpy_l

Bir dizenin n baytını hedef dizeye kopyalar. Bu işlevlerin daha güvenli sürümleri kullanılabilir; bkz _mbsnbcpy_s. , _mbsnbcpy_s_l.

Önemli

Bu API, 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 * _mbsnbcpy(
   unsigned char * strDest,
   const unsigned char * strSource,
   size_t count
);
unsigned char * _mbsnbcpy_l(
   unsigned char * strDest,
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
);
template <size_t size>
unsigned char * _mbsnbcpy(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count
); // C++ only
template <size_t size>
unsigned char * _mbsnbcpy_l(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
); // C++ only

Parametreler

strDest
Kopyalanacak karakter dizesinin hedefi.

strSource
Kopyalanacak karakter dizesi.

count
Kopyalanacak bayt sayısı.

locale
Kullanılacak yerel ayar.

Dönüş değeri

_mbsnbcpy hedef karakter dizesine bir işaretçi döndürür. Hata belirtmek için hiçbir dönüş değeri ayrılmaz.

Açıklamalar

işlevi baytları _mbsnbcpycount 'den strSource öğesine strDestkopyalar. veya veya kaynak ve hedef dizelerinin üst üste binmesi boyutunu aşarsacount, öğesinin _mbsnbcpy davranışı tanımlanmamış olur.strDest

veya strDest null bir işaretçiysestrSource, bu işlev Parametre doğrulamasında açıklandığı gibi geçersiz parametre işleyicisini çağırır. Yürütmenin devam etmesi için izin verilirse, işlevi döndürür NULL ve olarak EINVALayarlanırerrno.

Çı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ı kullanır ve bunun yerine son eki olan _l sürümler 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ı rastgele saldırgan kodu yürütmek için kullanılabilir, bu da ayrıcalıkların gereksiz bir şekilde yükseltilmesine ve sistemin güvenliğinin tehlikeye atılmasına neden olabilir. Daha fazla bilgi için bkz . Arabellek taşmalarından kaçınma.

C++'ta, bu işlevlerin daha yeni ve daha güvenli karşılıklarını çağıran şablon aşırı yüklemeleri vardır. Daha fazla bilgi için bkz . Güvenli şablon aşırı yüklemeleri.

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
_tcsncpy strncpy _mbsnbcpy wcsncpy
_tcsncpy_l _strncpy_l _mbsnbcp_l _wcsncpy_l

Gereksinimler

Yordam Gerekli başlık
_mbsnbcpy <mbstring.h>
_mbsnbcpy_l <mbstring.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Ayrıca bkz.

Dize işleme
_mbsnbcat, _mbsnbcat_l
_mbsnbcmp, _mbsnbcmp_l
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
_mbsnbset, _mbsnbset_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l