C语言--模拟实现strncpy函数

C语言–模拟实现strncpy函数

一、strncpy说明

C语言--模拟实现strncpy函数_第1张图片

strncpy格式如下

char* strncpy(char* destination, const char* source, size_t num)

即:复制 num个source指针指向的字符到destination。当遇到字符终止符’\0’且复制的个数还没有达到num个时,在destination后面补’\0’。
举例说明:

int main()
{
	char a[20] = "abcdef";
	char b[] = "xyz";
	strncpy(a, b, 2);
	printf("%s\n", a);
	return 0;
}

       '//输出结果为xycdef  '

二、模拟实现strncpy函数

char* my_strncpy(char* destination, const char* source, size_t n)
{
	char* cp = destination;
	int i = 0;
	while (*source && i < n)
	{
		*cp++ = *source++;
		i++;
	}
	for (int j = i; j < n; j++)
	{
		*cp++ = 0;
	}
	return destination;
}
int main()
{
	char a[20] = "abcdefghi";
	char b[] = "xyz";
	my_strncpy(a, b, 6);
	printf("%s\n", a);
	return 0;
}

C语言--模拟实现strncpy函数_第2张图片

你可能感兴趣的:(C,c语言,开发语言,后端,string,指针)