我正在尝试理解string.h函数.这是我自己的strncpy()实现
char * my_strncpy(char *dst, const char* src, int n)
{
char *orig = dst;
const char *hold = src;
int count = 0, remain = 0;
while(*(hold++))
count++;
if ( n > count )
{
remain = n - count;
n = count;
}
while(n--)
*dst++ = *src++;
while(remain--)
*dst++ = '\0';
return orig;
}
Run Code Online (Sandbox Code Playgroud)
但是在看这里的 glibc实现时,我想知道为什么它太大而复杂.
我使用" time "命令测试了执行时间.两个功能几乎相同.
有人可以分享关于glibc strncpy()的知识以及我在my_strncpy()中缺少的知识.