Copies characters from one buffer to another.
Include
<string.h>
Prototype
void *memcpy(void *dst, const void *src, size_t
n);
Arguments
dst | |
src | |
n |
Return Value
Returns dst
.
Remarks
memcpy
copies n characters from the source buffer
src
to the destination buffer dst
. If the buffers
overlap, the behavior is undefined.
For MPLAB XC16 functions that can copy to/from specialized memory areas, such as
memcpy_eds
or memcpy_p2d1624
, see “Functions for
Specialized Copying and Initialization” in the MPLAB XC16 Libraries Reference
Guide.
Example
See the notes at the beginning of this chapter or section for
information on using printf()
or scanf()
(and other functions reading and writing the stdin
or
stdout
streams) in the example code.
#include <string.h>
#include <stdio.h>
int main(void)
{
char buf1[50] = "";
char buf2[50] = "Where is the time?";
char buf3[50] = "Why?";
printf("buf1 : %s\n", buf1);
printf("buf2 : %s\n", buf2);
printf("buf3 : %s\n\n", buf3);
memcpy(buf1, buf2, 6);
printf("buf1 after memcpy of 6 chars of "
"buf2: \n\t%s\n", buf1);
printf("\n");
memcpy(buf1, buf3, 5);
printf("buf1 after memcpy of 5 chars of "
"buf3: \n\t%s\n", buf1);
}
Example Output
buf1 :
buf2 : Where is the time?
buf3 : Why?
buf1 after memcpy of 6 chars of buf2:
Where
buf1 after memcpy of 5 chars of buf3:
Why?