浅谈字符串处理函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈字符串处理函数相关的知识,希望对你有一定的参考价值。

上篇我们介绍了strcpy函数,但是strcpy函数是一个存在潜在危险性的函数。试想一下,如果我们事先给的目的字符串数组太小,而需要拷贝的源字符串长度大于目的字符串长度,此时这个函数会怎么办呢?所以,接下来我们介绍一个它的升级版strncpy函数。

strncpy 是 C语言的库函数之一,把src所指向的字符串中以src地址开始的前n个字节复制到dest所指的数组中,并返回dest。

strncpy的原型:

char*strncpy(char*dest,char*src,size_tn);

其功能是:

复制字符串src中的内容到字符串dest中,复制多少由size_tn的值决定。如果src的前n个字节不含NULL字符,则结果不会以NULL字符结束。如果n<src的长度,只是将sec的前n个字符复制到dest的前n个字符,不自动添加‘\0‘,也就是结果dest不包括‘\0‘,需要再手动添加一个‘\0‘。如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节。

实现如下:

char *mystrncpy(char *dst,const char *src,size_t n)
{
	char *ret=dst;
	assert(dst);
	assert(src);
	while(n && (*dst++=*src++))
	{
		n--;
	}
	if(n)
	{
		while(--n)
		{
		   *dst++=‘\0‘;
		}
	}
	return ret;
}


以上是关于浅谈字符串处理函数的主要内容,如果未能解决你的问题,请参考以下文章

浅谈Js中关于事件处理函数执行顺序的问题

浅谈JavaScript中的异步处理

浅谈函数式编程与大数据

浅谈python中处理时间的模块

使用 sqlite 的 FTS 片段函数处理 html 转义

浅谈js事件监听