6.20.12 strcpy Function
Copy the source string into the destination string.
Include
<string.h>
Prototype
char *strcpy(char *s1, const char *s2);
Arguments
s1
- destination string to copy to
s2
- source string to copy from
Return Value
Returns a pointer to the destination string.
Remarks
All characters of s2
are copied, including the null
terminating character. If the strings overlap, the behavior is undefined.
For MPLAB XC16 or XC-DSC functions that can copy to/from specialized memory areas, such
as strcpy_eds
or strcpy_packed
, see “Functions for
Specialized Copying and Initialization” in the library reference manual relevant to your
compiler.
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] = "We're here";
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);
strcpy(buf1, buf2);
printf("buf1 after strcpy of buf2: \n\t%s\n\n",
buf1);
strcpy(buf1, buf3);
printf("buf1 after strcpy of buf3: \n\t%s\n",
buf1);
}
Example Output
buf1 : We're here
buf2 : Where is the time?
buf3 : Why?
buf1 after strcpy of buf2:
Where is the time?
buf1 after strcpy of buf3:
Why?