_mbsnbcpy_s, _mbsnbcpy_s_l
Kopya n bir dize hedef dize bayt.Sürümleri bunlar _mbsnbcpy, _mbsnbcpy_l açıklandığı gibi güvenlik geliştirmeleri ile crt güvenlik özellikleri.
Önemli |
---|
Bu API, Windows çalışma zamanı yürütme uygulamalarda kullanılamaz.Daha fazla bilgi için bkz: /zw ile desteklenmeyen crt işlevlerinin. |
errno_t _mbsnbcpy_s(
unsigned char * strDest,
size_t sizeInBytes,
const unsigned char * strSource,
size_t count
);
errno_t _mbsnbcpy_s_l(
unsigned char * strDest,
size_t sizeInBytes,
const unsigned char * strSource,
size_t count,
_locale_t locale
);
template <size_t size>
errno_t _mbsnbcpy_s(
unsigned char (&strDest)[size],
const unsigned char * strSource,
size_t count
); // C++ only
template <size_t size>
errno_t _mbsnbcpy_s_l(
unsigned char (&strDest)[size],
const unsigned char * strSource,
size_t count,
_locale_t locale
); // C++ only
Parametreler
strDest
Hedef için kopyalanacak karakter dizesi.sizeInBytes
Hedef ara bellek boyutu.strSource
Kopyalanacak karakter dizesi.count
Kopyalanacak bayt sayısı.locale
Kullanılacak yerel ayarı.
Dönüş Değeri
Sıfır başarılı olursa; EINVALhatalı parametre geçirildi.
Notlar
The _mbsnbcpy_s function copies count bytes from strSource to strDest.count Boyutunu aşıyor strDest, ya da giriş dizelerini bir null işaretçi ise veya sizeInBytes veya count 0'dır, açıklandığı gibi geçersiz bir parametre işleyici işlevi çağırır Parametre doğrulama .İşlev verir yürütülmesine devam etmek için izin verilip verilmediğini, EINVAL.Kaynak ve hedef dizeleri davranışını örtüşmesi, _mbsnbcpy_s tanımlı değil.
Çıkış değeri ayarı tarafından etkilenen LC_CTYPE ; bölgesel ayar kategorisi bkz: setlocale daha fazla bilgi için.Bu işlevler sürümlerini _l soneki kullanan geçerli yerel ayarı için bu yerel ayara bağımlı davranışı; sürümleri ile _l sonek dışında bunun yerine geçirilen yerel ayar parametresi kullandıkları aynı.Daha fazla bilgi için bkz. Yerel ayar.
[!NOT]
Bu işlev, güvenli olmayan sürümü aksine _mbsnbcpy_s not null herhangi bir dolgu yapın ve her zaman null dize sonlandırır.
C++'da, bu işlevleri kullanarak şablon aşırı yükleme tarafından Basitleştirilmiş; aşırı arabellek uzunluğu otomatik olarak çıkarabilir (size baðýmsýz deðiþkeni belirtmek gereğini ortadan kaldırır) ve bunların daha eski, güvenli olmayan işlevler daha yeni ve güvenli karşılıklarıyla otomatik olarak değiştirebilirsiniz.Daha fazla bilgi için bkz. Güvenli şablon aşırı yükleme.
Bu işlevleri hata ayıklama sürümleri arabellek 0xFD ile doldurun.Bu davranışı devre dışı bırakmak için _CrtSetDebugFillThreshold.
Genel metin eşlemeleri yordamına girildi
Tchar.h yordamına girildi |
_UNICODE ve _mbcs tanımlanmamış |
Tanımlanan _mbcs |
Tanımlanan _UNICODE |
---|---|---|---|
_tcsncpy_s |
_strncpy_s |
_mbsnbcpy_s |
_wcsncpy_s |
_tcsncpy_s_l |
_strncpy_s_l |
_mbsnbcpy_s_l |
_wcsncpy_s_l |
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
_mbsnbcpy_s |
<mbstring.h> |
_mbsnbcpy_s_l |
<mbstring.h> |
Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.
.NET Framework Eşdeğeri
Yoktur. Standart c işlevi çağırmak için kullanın PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.
Ayrıca bkz.
Başvuru
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l