c语言实现strncpy函数
时间: 2023-11-21 09:53:16 浏览: 123
C语言中的strncpy函数是strcpy函数的扩展版本,它可以将源字符串中的指定数量的字符复制到目标字符串中。strncpy函数的函数定义如下:char *strncpy(char *dest, const char *src, size_t count)。其中,dest是目标字符串,src是源字符串,count是要复制的字符数。下面是一个C语言实现strncpy函数的例子:
```
char* my_strncpy(char* destination, const char* source, unsigned int num) {
assert(destination && source);
char* ret = destination;
while (num && (*destination++ = *source++)) {
num--;
}
if (num != 0) {
while (num) {
*destination++ = '\0';
num--;
}
}
return ret;
}
```
这个函数首先使用assert函数来确保destination和source都不为空指针。然后,它使用while循环将源字符串中的字符复制到目标字符串中,直到复制了指定数量的字符或者遇到了源字符串的结束符'\0'。如果复制的字符数小于指定数量,那么函数会在目标字符串的末尾添加'\0',直到复制的字符数达到指定数量。最后,函数返回目标字符串的指针。
阅读全文