strncpy是个安全函数,相对于strcpy而言。这个函数我们会经常用到,面试的时候也会时不时考一下,今天写一个,一是总结,二是方便日后自己回顾。
char * strncpy(char * dest,const char *src,size_t cpy_lent)
{
char *tmp = dest;
while (cpy_lent-- && (*dest++ = *src++) != '\0') //这里涉及多个知识点,如"++"的优先级高于"*",这样的写法很巧妙,会将'\0'也赋值到新的字符串中。
/* nothing */;
return tmp; //返回起始被赋值位置
}