1、strcpy()
把 src
所指向的字符串复制到 dest
所指向的空间中,'\0'
也会拷贝过去。代码如下,
#include#include /*参数dest:目的字符串首地址src:源字符首地址返回值成功:返回 dest 字符串的首地址 失败:NULL*/ int main(){ char src[40]; char dest[100]; memset(dest, '\0', sizeof(dest)); strcpy(src, "https://www.wonhero.com"); strcpy(dest, src); printf("字符串: %s\n", dest); return(0);}
2、strncpy()
把 src
指向字符串的前 n
个字符复制到 dest
所指向的空间中,是否拷贝结束符看指定 的长度是否包含'\0'
。代码如下,
#include#include /*参数:dest:目的字符串首地址src:源字符首地址n:指定需要拷贝字符串个数返回值:成功:返回 dest 字符串的首地址失败:NULL*/ int main(){ char src[40]; char dest[12]; memset(dest, '\0', sizeof(dest)); strcpy(src, "https://www.wonhero.com"); strncpy(dest, src, 18); printf("字符串: %s\n", dest); return(0);}
3、strcpy()和strncpy()区别
strncpy
是用来拷贝字符, strncpy
没有拷贝串后的\0
字符,而strcpy
是用来拷贝字符串,即会拷贝串后的\0
字符。代码如下,
#include#include int main(){ char str1[] = "www.wonhero.com"; char str2[] = "www.wonhero.com"; char *ptr1; char *ptr2; ptr1 = strstr( str1, "wonhero" ); ptr2 = strstr( str2, "wonhero" ); puts( ptr1 ); puts( ptr2 ); strcpy(ptr1 , "wonhero"); strncpy(ptr2 ,"wonhero", 7); puts( ptr1 ); puts( ptr2 ); return 0;}