#include<stdio.h>
#include<assert.h>
#include<string.h>
char* my_strncpy(char* dest,const char* src,size_t len)
{
char* ret = dest;
int offset = 0;
assert(dest != NULL);
assert(src != NULL);
if(strlen(src) < len)
{
offset = len - strlen(src);
len = strlen(src);
}
while(len)
{
*dest++ = *src++;
len--;
}
while(offset)
{
*dest++ = '\0';
offset--;
}
return ret;
}
int main()
{
char arr1[20] = "abcdef";
char arr2[] = "xxxx";
my_strncpy(arr1,arr2,3);
printf("%s\n",arr1);
return 0;
}
模拟实现strncpy
最新推荐文章于 2025-05-17 22:07:21 发布