C/C++教程

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

本文主要是介绍C语言--模拟实现strncpy函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

C语言–模拟实现strncpy函数

一、strncpy说明

在这里插入图片描述

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函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!