Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 src destkopyalar. 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