string.hのstrncat的实现

函数原型

char *strncat(char *s1,const char *s2,size_t n);

功能

函数strncat从s2指向的数组中将最多n个字符(空字符及其后面的字符不添加)添加到s1指向的串的末尾。s2的第一字符覆盖s1末尾的空字符。通常在最后的结果后面加上一个空字符。如果复制发生在两个重叠的对象中,则行为未定义。

返回值

函数strncat返回s1值

函数的使用

#include<stdio.h>

#include<string.h>

int main(void)

{

  char *str[20]="你好!";

  strncat(str,"新世界!",20);

  printf("%s\n",str);

  return 0;

}

函数的实现

char *strncat(char *s1,char *s2,size_t n)
{
   char *str=s1;
   while(*str!='\0')
      ++str;
   while(0<n && (*str=*src)!='\0')
     {
        --n;
        ++str;
        ++s2;
     }
   *str='\0';
   return s1;
}

 

posted @ 2013-04-13 22:24  Sinnerse  阅读(155)  评论(0)    收藏  举报