#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<assert.h>
#include<string.h>
char* my_strncpy(char* dest, const char* src, const int num)
{
char* ret = dest;
assert(dest && src);
int sz = strlen(src);
while (*dest++ = *src++)
{
if (sz < num)
{
for (int i = 0; i > sz && i < num; i++)
{
*dest = '0';
dest++;
}
}
else
;
}
return ret;
}
int main()
{
//拷贝num个字符从源字符串到目标空间。
//如果源字符串的长度小于num,则拷贝完源字符串之后,在目标的后边追加0,直到num个
char arr1[20] = "hello ";
char arr2[] = "world";
char* ret = my_strncpy(arr1, arr2, 6);
printf("%s\n", ret);
return 0;
}
【C语言】每日一代码:strncpy模拟实现
最新推荐文章于 2024-05-23 21:17:45 发布