_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 |
---|
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ş.