_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ı _mbsnbcpy
count
'den strSource
öğesine strDest
kopyalar. 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 EINVAL
ayarlanı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