Aracılığıyla paylaş


_mbccpy_s, _mbccpy_s_l

Tek bir çok baytlı karakter bir dizeden başka bir dizeye kopyalar.Sürümleri bunlar _mbccpy, _mbccpy_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 _mbccpy_s(
   unsigned char *dest,
   size_t buffSizeInBytes,
   int * pCopied,
   const unsigned char *src 
);
errno_t _mbccpy_s_l(
   unsigned char *dest,
   size_t buffSizeInBytes,
   int * pCopied,
   const unsigned char *src,
   locale_t locale
);
template <size_t size>
errno_t _mbccpy_s(
   unsigned char (&dest)[size],
   int * pCopied,
   const unsigned char *src 
); // C++ only
template <size_t size>
errno_t _mbccpy_s_l(
   unsigned char (&dest)[size],
   int * pCopied,
   const unsigned char *src,
   locale_t locale
); // C++ only

Parametreler

  • [çıkış]dest
    Hedef kopyalayın.

  • [in]buffSizeInBytes
    Hedef arabelleğin boyutudur.

  • [çıkış]pCopied
    Bayt kopyalanan (1 veya 2 başarılı olursa) sayısı ile doldurulur.Pass NULL numarasını Önemseme.

  • [in]src
    Kopyalamak için çok baytlı karakter.

  • [in]locale
    Kullanılacak yerel ayarı.

Dönüş Değeri

Sıfır başarılı olursa; hata durumunda bir hata kodu.src Veya dest olan NULL, ya da birden fazla buffSizeinBytes bayt için kopyalanmasına dest, sonra da açıklandığı gibi geçersiz bir parametre işleyici çağrılır Parametre doğrulama.İade işlevleri yürütülmesine devam etmek için izin verilip verilmediğini, EINVAL ve errno ayarlamak EINVAL.

Notlar

_mbccpy_s İşlevi, çok baytlı bir karakter kopyalar src için dest.src Örtülü bir çağrı tarafından belirlenen bir çok baytlı karakter bayt göstermiyor _ismbblead, sonra tek bayt, src noktalarını kopyalanır.src 0 Ve böylece geçersiz işaret eder, ancak sonraki baytın ön bayt, sonra 0 kopyalanır dest, errno ayarlamak EILSEQ, ve işlev EILSEQ.

_mbccpy_snull bir sonlandırıcı Ekle değildir; Ancak, src , null kopyalanır sonra bir null karakteri için işaret dest (Bu, yalnızca normal bir tek baytlık kopya).

Değer pCopied kopyalanan bayt sayısı girilir.İşlem başarılı olursa olası değerler şunlardır: 1 ve 2.NULL Geçirilir, bu parametre dikkate alınmaz.

src

kopyalama hedefidest

pCopied

Dönüş değeri

ön bayt

ön bayt

1

0

0

0

1

0

ön bayt olmayan-0 tarafından izlenen

ön bayt olmayan-0 tarafından izlenen

2

0

ön bayt 0 tarafından izlenen

0

1

EILSEQ

İkinci satırdaki ilk yalnızca özel bir durum olduğunu unutmayın.Ayrıca tablonun varsayar Not buffSizeInBytes > = pCopied.

_mbccpy_sGeçerli yerel ayarı için herhangi bir yerel ayara bağımlı davranışı kullanır._mbccpy_s_laynıdır _mbccpy_s dışında _mbccpy_s_l için herhangi bir yerel ayara bağımlı davranışı geçirilen yerel ayarı kullanır.

C++'da, bu işlevleri kullanarak şablon aşırı yükleme tarafından Basitleştirilmiş; aşırı size baðýmsýz deðiþkeni önleyerek arabellek uzunluğu otomatik olarak çıkarabilir.Daha fazla bilgi için bkz. Güvenli şablon aşırı yükleme.

Genel metin eşlemeleri yordamına girildi

Tchar.h yordamına girildi

_UNICODE ve _mbcs tanımlanmamış

Tanımlanan _mbcs

Tanımlanan _UNICODE

_tccpy_s

Makro veya satır içi işlev eşleştirir.

_mbccpy_s

Makro veya satır içi işlev eşleştirir.

Gereksinimler

Yordamı

Gerekli başlık

_mbccpy_s

<mbstring.h>

_mbccpy_s_l

<mbstring.h>

Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.

Ayrıca bkz.

Başvuru

Yerel ayar

Yorumunu çok baytlı karakter dizileri

_mbclen, mblen, _mblen_l