Aracılığıyla paylaş


_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 notÖ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

Dize işlemleri (crt)

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

_mbsnbicmp, _mbsnbicmp_l

_mbsnbset, _mbsnbset_l

strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l