c语言字符串处理函数strcpy和strncpy

No2:字符串拷贝函数
1、strcpy

函数概要:
strcpy 函数用于拷贝字符串,包含最后的结束符 ‘\0’
为了避免溢出,必须确保用于存放的数组长度足以容纳待拷贝的字符串(注意:长度需要包含结束符 ‘\0’)。
源字符串和目标数组的位置不应该重叠。

#include
#include
int main()
{
	char str1[] = "I love";
	char str2[] = "you!";
	strcpy(str1,str2);
	printf("复制后的str1 = %s",str1);
	return 0;
 } 

在这里插入图片描述
2、strncpy

函数概要:
和 strcpy 函数一样,strncpy(str1, str2, n) 函数将拷贝源字符串的 n 个字符到目标数组中。如果源字符串的长度小于 n,那么就用 ‘\0’ 填充额外的空间。如果源字符串的长度大于或等于 n,那么只有 n 个字符被拷贝到目标数组中(注意:这样的话将不会以结束符 ‘\0’ 结尾)。
其中:str1是存放字符串的目标数组,str2是待拷贝的源字符串,n是拷贝的字符串长度。

:为了使该函数更“安全”,建议使用 dest[sizeof(dest) - 1] = ‘\0’; 语句确保目标字符串是以 ‘\0’ 结尾。
源字符串和目标数组的位置不应该重叠。

附上实例代码:

#include
#include
int main()
{
	char str1[] = "everybody look at me now!";
	char str2[] = "nothing is impossible";
	strncpy(str1,str2,20);
	printf("复制后的str1 = %s",str1);
	return 0;
 } 

运行结果:
c语言字符串处理函数strcpy和strncpy_第1张图片

你可能感兴趣的:(C语言)