自定义实现strncat函数

来源:互联网 发布:淘宝自动收获几天 编辑:程序博客网 时间:2024/06/05 07:45
一、函数原型
  char * strncat(char *dest, const char *str, int n);
【参数说明】:dest指向目标字符串,src为指向源字符串。
二、库名
#include <string.h>
三、功能
把str所指字符串的前n个字符添加到dest所指字符串的结尾处,并覆盖dest所指字符串结尾的'/0',从而实现字符串的连接。
四、说明
src和dest所指内存区域不可以重叠,并且dest必须有足够的空间来容纳str的字符串。
五、返回值
返回一个指向dest的指针。
六、函数实现
char *My_strncat(char *dest,const char *str,int n)
   int i;
   char *ret=dest;  //顶一个指针保存dest的内容
  while(*dest)
  {
  
   dest++;
 
  }                        //当指针移动到‘\0’是跳出循环

  for(i=0;i<n;i++)
  {
    *dest++=*str++;   //将str的内容赋值给dest
  }
  return ret;
}

主函数调用

int main()
{
  char *ret=NULL;
  char dest[20]="holle";   //给dest开辟足够大的空间
  char str[]="world";
  int n;
  printf("请输入连接字符的个数:\n");
  scanf("%d",&n);
  ret=My_strncat(dest,str,n);
  printf("%s",ret);
  system("pause");
return 0;
}




2 0