_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.
![]() |
---|
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.