memcpy, wmemcpy
Copies bytes between buffers. These functions are deprecated because more secure versions are available; see 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 );
Parameters
- dest
-
New buffer.
- src
-
Buffer to copy from.
- count
-
Number of characters to copy.
memcpy copies count bytes from src to dest; wmemcpy copies count wide characters (two bytes). If the source and destination overlap, the behavior of memcpy is undefined. Use memmove to handle overlapping regions.
Security Note Make sure that the destination buffer is the same size or larger than the source buffer. For more information, see Avoiding Buffer Overruns.
The memcpy and wmemcpy functions will only be deprecated if the constant _CRT_SECURE_DEPRECATE_MEMORY is defined prior to the inclusion statement in order for the functions to be deprecated, such as in the example below:
#define _CRT_SECURE_DEPRECATE_MEMORY #include <memory.h>
or
#define _CRT_SECURE_DEPRECATE_MEMORY #include <wchar.h>
| Routine | Required header | Compatibility |
|---|---|---|
| memcpy | <memory.h> or <string.h> | ANSI, Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 |
| wmemcpy | <wchar.h> | ANSI, Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 |
For additional compatibility information, see Compatibility in the Introduction.