zoukankan      html  css  js  c++  java
  • C语言

    一、函数strcat与stcncat的函数实现

        1、strcat函数的实现

          要求:

             原型:char * strcat(char *dest, const char *src);
               头文件:#include <string.h>
               功能:1、dest 为目的字符串指针,src 为源字符串指针。strcat() 会将参数 src 字符串复制到参数 dest 所指的字符串尾部;
                2、dest 最后的结束字符 NULL 会被覆盖掉,并在连接后的字符串的尾部再增加一个 NULL。
            说明:
                    返回值:dest 字符串起始地址。

      strcat代码功能的实现

    char* MyStrcat(char *dst, const char *src)
    {
        assert(dst != NULL && src != NULL); //assert函数的头文件为#include <assert.h>
        char *temp = dst;
        while (*temp != '')
            temp++;
        while ((*temp++ = *src++) != '');
    
        return dst;
    }

        注意:1、dest 与 src 指针不能为NULL,并且所指的内存空间不能重叠,且 dest 要有足够的空间来容纳要复制的字符串。

           2、assert是用来避免显而易见的错误的,而不是处理异常的。错误和异常是不一样的,错误是不应该出现的,异常是不可避免的。

      

     2、strncat函数的实现

          要求:

             原型:char *strncat(char *dest, const char *src, size_t n);
               头文件:#include <string.h>
               功能:把src所指字符串的前n个字符添加到dest结尾处,覆盖dest结尾处的'/0',实现字符串连接。
            说明:
                    返回值:dest 字符串起始地址。
      strncat代码功能的实现
    char *strncat_m(char *dest,const char *str,int n)
    {
        assert((dest!=NULL)&&(str!=NULL));
        char *cp=dest;
       //移动指针到末尾
        while(*cp!='') ++cp;
     
        while(n&&(*cp++=*str++)!='')
        {
            --n;
        }
     
        return dest;
    }

      注意事项与strcat一致,不过要注意n的取值范围

  • 相关阅读:
    spring boot 配置示例
    MyBatis 常用标签用法
    http请求头部常用参数
    CentOS7使用firewalld打开关闭防火墙与端口
    java8 base64
    MD5工具类
    各种远程登录工具
    MySql 常用命令
    spring-boot-mybaits 开启事务
    springboot 项目打包到 linux下无法 运行
  • 原文地址:https://www.cnblogs.com/goul/p/9580544.html
Copyright © 2011-2022 走看看