Aracılığıyla paylaş


memmove, wmemmove

Bir arabelleği diğerine taşır. Bu işlevlerin daha güvenli sürümleri mevcuttur; bkz. memmove_s, wmemmove_s.

Sözdizimi

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
Kopyalanacak bayt (memmove) veya karakter sayısıwmemmove.

Dönüş değeri

değeridir dest.

Açıklamalar

baytları count (memmove) veya karakterleri (wmemmove) öğesine srcdestkopyalar. Kaynağın ve hedef bölgelerin bazı bölümleri çakışıyorsa, her iki işlev de çakışan bölgedeki özgün kaynak baytların üzerine yazılmadan önce kopyalandığından emin olur.

Güvenlik Notu Hedef arabelleğin taşınan karakter sayısını karşılayacak kadar büyük olduğundan emin olun. Daha fazla bilgi için bkz . Arabellek taşmalarından kaçınma.

memmove ve wmemmove işlevleri yalnızca aşağıdaki örnekte gösterildiği gibi, sabit _CRT_SECURE_DEPRECATE_MEMORY deyiminden #include önce tanımlanmışsa kullanım dışı kalır:

#define _CRT_SECURE_DEPRECATE_MEMORY
#include <string.h>

veya

#define _CRT_SECURE_DEPRECATE_MEMORY
#include <wchar.h>

Gereksinimler

Yordam Gerekli başlık
memmove <string.h>
wmemmove <wchar.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Ö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 );
}
The string: aabbcc
New string: aaaabb
The string: aabbcc
New string: aaaabb

Ayrıca bkz.

Arabellek işleme
_memccpy
memcpy, wmemcpy
strcpy, wcscpy, _mbscpy
strncpy, _strncpy_l, wcsncpy, , _wcsncpy_l, _mbsncpy, _mbsncpy_l