Aracılığıyla paylaş


memcpy, wmemcpy

Arabellek arasındaki baytların kopyalar.Bu işlevlerin daha güvenli sürümleri mevcuttur; bkz. memcpy_s, wmemcpy_s.

void *memcpy(    void *dest,    const void *src,    size_t count  ); wchar_t *wmemcpy(    wchar_t *dest,    const wchar_t *src,    size_t count );

Parametreler

  • dest
    Yeni arabelleği.

  • src
    Kopyalanacak arabelleği.

  • count
    Kopyalanacak karakter sayısı.

Dönüş Değeri

Değerini dest.

Notlar

memcpykopya count baytlar src için dest; wmemcpy kopyalarını count geniş karakterler (iki bayt olarak).Kaynak ve hedef çakışmaması durumunda, davranışını memcpy tanımlanmamıştır.Kullanım memmove çakışan bölgeleri işlemek için.

Güvenlik NotuGüvenlik Notu

Kaynak arabelleği daha büyük veya boyut hedef arabelleği aynı olduğundan emin olun.Daha fazla bilgi için, bkz. Arabellek Taşmalarını Önleme.

Güvenlik NotuGüvenlik Notu

Çok sayıda arabellek taşması ve bu nedenle olası saldırıları güvenlik açıklarına, yanlış kullanımı için izlenen olduğundan memcpy, bu işlev "yasaklı" işlevleri arasında güvenlik geliştirme yaşam döngüsü (SDL) tarafından listelenir.Bazı VC ++ kitaplığı sınıflarını kullanmaya devam uyun memcpy.Ayrıca, VC ++ derleyici iyileştirici bazen için çağrı yayar uyun memcpy.Visual C++ ürün SDL işlemi uygun olarak geliştirilmiştir ve bu nedenle bu yasaklı işlevinin kullanımı yakın Değerlendirilmiş.Kitaplık durumunda çağrıları dikkatle arabellek taşması bu çağrısıyla izin verilmiyor emin olmak için scrutinized, bunu kullanın.Derleyici söz konusu olduğunda, bazen belirli kod desenleri desenini için aynı tanınan memcpyve bu nedenle işlev çağrısı ile değiştirilir.Böyle durumlarda, kullanımını memcpy özgün yönergeleri olacağından çok; daha fazla güvenli değildir Bunlar yalnızca performans ayarlanmış bir çağrı için en iyi duruma memcpy işlev."Güvenli" CRT işlevleri kullanımını (bunlar yalnızca olun, güvenli değil olarak edilmesinin) güvenlik, garanti etmez gibi "yasaklı" işlevleri kullanımını (bunlar yalnızca gerektirir güvenliğini sağlamak için büyük scrutiny) danger garanti etmez

Çünkü memcpy VC ++ derleyici ve kitaplıkları kullanımı bu nedenle dikkatle scrutinized, bu çağrıları aksi SDL ile uyumlu olan kod içinde izin verilmez.memcpyUygulama kaynak koduna içinde sunulan çağrıları SDL ile uyumlu için kullanan güvenlik uzmanlar tarafından gözden geçirildi.

memcpy Ve wmemcpy işlevleri yalnızca kullanım dışı varsa sabit _CRT_SECURE_DEPRECATE_MEMORY tanımlanan ekleme deyimi sırada kullanım dışı işlevleri için önce aşağıdaki örnekte olduğu gibi olan:

#define _CRT_SECURE_DEPRECATE_MEMORY
#include <memory.h>

veya

#define _CRT_SECURE_DEPRECATE_MEMORY
#include <wchar.h>

Gereksinimler

Yordam

Gerekli başlık

memcpy

< memory.h > veya < string.h >

wmemcpy

< wchar.h >

Ek uyumluluk bilgileri için Giriş altındaki Uyumluluk bölümüne bakın.

Örnek

Bakın memmove örneği için nasıl kullanılacağını memcpy.

Ayrıca bkz.

Başvuru

Ara Bellek Düzenlemesi

_memccpy

memchr, wmemchr

memcmp, wmemcmp

memmove, wmemmove

memset, wmemset

strcpy_s, wcscpy_s, _mbscpy_s

strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s, _mbsncpy_s_l