memmove, wmemmove

Bir arabellek diğerine taşır.Bu işlevler daha güvenli sürümlerinin kullanılabilir olduğunu; see memmove_s, wmemmove_s.

void *memmove(
   void *dest,
   const void *src,
   size_t count 
);
wchar_t *wmemmove(
   wchar_t *dest,
   const wchar_t *src,
   size_t count
);

Parametreler

  • dest
    Hedef nesne.

  • src
    Kaynak nesne.

  • count
    Bayt sayısı (memmove) veya karakter (wmemmove) kopyalamak için.

Dönüş Değeri

The value of dest*.*

Notlar

Copies count bytes (memmove) or characters (wmemmove) from src to dest*.* Bazı bölgelerde kaynak alanı ve hedef üst üste gelirse, her iki işlevi üzerine önce örtüşen özgün kaynak dosyadaki kopyalanır emin olun.

Güvenlik Notu boyutta veya daha büyük kaynak arabelleği hedef arabelleğin aynı olduğundan emin olun.Daha fazla bilgi için bkz: Önleme arabelleğin taşmasına neden.

memmove Ve wmemmove işlevleri yalnızca etikettir, sabit _CRT_SECURE_DEPRECATE_MEMORY için önce kullanım dışı işlevler için sipariş ekleme deyiminde tanımlanan, aşağıdaki örnekte olduğu gibi böyle olur:

#define _CRT_SECURE_DEPRECATE_MEMORY
#include <string.h>
or
#define _CRT_SECURE_DEPRECATE_MEMORY
#include <wchar.h>

Gereksinimler

Yordamı

Gerekli başlık

memmove

<string.h>

wmemmove

<wchar.h>

Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

// crt_memcpy.c
// Illustrate overlapping copy: memmove
// always handles it correctly; memcpy may handle
// it correctly.
//

#include <memory.h>
#include <string.h>
#include <stdio.h>

char str1[7] = "aabbcc";

int main( void )
{
   printf( "The string: %s\n", str1 );
   memcpy( str1 + 2, str1, 4 );
   printf( "New string: %s\n", str1 );

   strcpy_s( str1, sizeof(str1), "aabbcc" );   // reset string

   printf( "The string: %s\n", str1 );
   memmove( str1 + 2, str1, 4 );
   printf( "New string: %s\n", str1 );
}
  

.NET Framework Eşdeğeri

System::Buffer::BlockCopy

Ayrıca bkz.

Başvuru

Ara Bellek Düzenlemesi

_memccpy

memcpy, wmemcpy

strcpy, wcscpy, _mbscpy

strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l