C函数源码解读:strncat

strncat函数也是在<string.h>文件中声明
strncat函数作用是将第二个字符串中前n个字符追加到第一个字符串的尾部
extern char*  strncat(char *, const char *, size_t);


OpenBSD实现如下:
[strncat.c]
char *
strncat(char *dst, const char *src, size_t n)
{
  if (n != 0)
  {
    //保存两个操作字符串的首地址
    char *d = dst;
    const char *s = src;

    //将指向dst的指针d移到字符串末尾,指向'\0'
    while (*d != 0)
      d++; 

    //复制过程
    do {
      //如果到达了src字符串的末尾,则复制终止
      if ((*d = *s++) == 0)
        break;
      //移向下一个元素
      d++;
    } while (--n != 0); //复制后剩余要复制的元素个数
    *d = 0; //复制完毕后,将最后一个元素置为'\0'
  }
  return dst; 
}

你可能感兴趣的:(C++,c,C#)