Aracılığıyla paylaş


_mbccpy_s, _mbccpy_s_l

Çok baytlı karakteri bir dizeden başka bir dizeye kopyalar.Bu _mbccpy, _mbccpy_l sürümlerinde CRT'deki Güvenlik Özellikleri içinde açıklandığı gibi güvenlik geliştirmeleri mevcut olabilir.

Önemli notÖnemli

Bu API, Windows Çalışma Zamanı'nda yürütülen uygulamalarda kullanılamaz.Daha fazla bilgi için bkz /ZW ile desteklenmeyen CRT işlevleri.

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

  • [out] dest
    Hedefi kopyalayın.

  • [in] buffSizeInBytes
    Hedef arabelleğin boyutu.

  • [out] pCopied
    Kopyalanan bayt sayısı ile doldurulur (başarılıysa 1 veya 2).Sayı sizin için önemli değilse NULL geçirin.

  • [in] src
    Kopyalanacak çok baytlı karakter.

  • [in] locale
    Kullanılacak yerel ayar.

Dönüş Değeri

Başarılıysa sıfır; hata halinde bir hata kodu.src veya destNULL ise veya buffSizeinBytes bayttan fazlası dest konumuna kopyalanacaksa, geçersiz parametre işleyicisi Parametre Doğrulama konusunda açıklandığı gibi çağrılır.Yürütmenin devam etmesine izin verilirse, işlevler EINVAL döndürür ve errno öğesi EINVAL olarak ayarlanır.

Notlar

_mbccpy_s işlevi çok baytlı bir karakteri src referansından dest referansına kopyalar.src, _ismbblead seçeneğine örtük çağrıyla saptandığı gibi çok baytlı karakterin ön baytını göstermiyorsa, src tarafından gösterilen tek bayt kopyalanır.src ön baytı gösteriyor, ancak izleyen bayt 0 olduğundan geçersizse, 0 dest konumuna kopyalanır, errnoEILSEQ olarak ayarlanır ve işlev EILSEQ değerini döndürür.

_mbccpy_s null sonlandırıcı eklemez, ancak , src null bir karaktere işaret ediyorsa, bu null dest (bu yalnızca normal tek baytlık bir kopyadır) öğesine kopyalanır.

pCopied'deki değer, kopyalanan bayt sayısı ile doldurulur.İşlem başarılı olursa olası değerler 1 ve 2'dir.NULL geçirilirse, bu parametre yoksayılır.

src

kopyalandığı konum: dest

pCopied

Dönüş değeri

ön bayt yok

ön bayt yok

1

0

0

0

1

0

ön bayt 0 olmayanla izlenir

ön bayt 0 olmayanla izlenir

2

0

ön bayt 0 ile izlenir

0

1

EILSEQ

İkinci satırın yalnızca ilk satırın özel bir durumu olduğunu unutmayın.Ayrıca tablonun buffSizeInBytes >= pCopied öğesini varsaydığını unutmayın.

_mbccpy_s, herhangi bir yerel ayara bağımlı davranış için geçerli yerel ayarı kullanır._mbccpy_s_l_mbccpy_s öğesi ile _mbccpy_s_l öğesinin tüm yerel ayara bağımlı davranışlar için geçirilen yerel ayarı kullanması dışında aynıdır.

C++ programında bu işlevlerin kullanılması şablon aşırı yüklemesiyle basitleştirilmiştir; aşırı yüklemeler, boyut bağımsız değişkenini basitleştirmek gerekmeden arabellek uzunluğuna otomatik olarak müdahale edebilir.Daha fazla bilgi için bkz. Güvenli Şablon Aşırı Yüklemeleri.

Genel Metin Yordam Eşleşmeleri

Tchar.h yordamı

_UNICODE ve _MBCS tanımlanmaz

_MBCS tanımlanmış

_UNICODE tanımlanmış

_tccpy_s

Makro veya satır içi işleve eşlenir.

_mbccpy_s

Makro veya satır içi işleve eşlenir.

Gereksinimler

Yordam

Gerekli başlık

_mbccpy_s

<mbstring.h>

_mbccpy_s_l

<mbstring.h>

Daha fazla ek uyumluluk bilgileri için bkz. Uyumluluk.

Ayrıca bkz.

Başvuru

Yerel Ayar

Çok Baytlı Karakter Sıralarının Yorumu

_mbclen, mblen, _mblen_l