码迷,mamicode.com
首页 > 其他好文 > 详细

字符串函数构析

时间:2019-10-16 13:03:38      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:mode   wrap   nbsp   结果   div   exp   nta   ons   介绍   

字符串函数构析

今日参加了一场笔试,刚好程序题问到一道strcpy函数构建,刚好之前看过字符串函数,同时网上文章大部分都是介绍了下函数的用法,缺少了函数的实现,今日就来自己构析下常见的字符串函数,字符串函数位于标准库的头文件string.h中,在使用函数时需引用该文件

strlen

  • 函数原型:size_t strlen(const char *s)
  • 函数功能:返回s的字符串函数(不包含结尾的0)
  • 函数构析:
    •  size_t strlen(const char *s)    /*size_t在不同架构下分别代表                              unsigned int和 unsigned long*/
       {
        int idx = 0;
        while(s[idx]!=‘\0‘)
        {
        idx++;
        }
        return idx;
       }

strcmp

  • 函数原型:int mycmp(const char *s1,const char *s2)
  • 函数功能:比较两字符串,返回值为三种结果(以ascii码表对比)
    • 0:s1==s2

    • 正数:s1>s2

    • 负数:s1<s2

  • 函数构析:
     int mycmp(char *s1,const char *s2)
     {
      while(*s1 == *s2 && *s1 != ‘\0‘)
      {
      s1++;
      s2++;
      }
     
      return *s1 - *s2;
      }

     

strcpy

  • 函数原型:char *strcpy(char *dst,const char * src)
  • 函数功能:返回s的字符串函数(不包含结尾的0)
  • 函数构析:
     char *mycpy(char *dst,const char *src)
     {
      char *rest = dst;
      while(*dst++ = *src++);
     
      *dst=‘\0‘;
      return rest;
      }

     

strcat

  • 函数原型:char *mycat(char *dst,const char * src)

  • 函数功能:返回s的字符串函数(不包含结尾的0)
  • 函数构析:
     char *mycat(char *s1,const char *s2)
     {
      char *rest = s1;
      s1 = s1 + strlen(s1);
      while(*s1++ = *s2++);
     
      return rest;
     }

     

 


 

 

 

字符串函数构析

标签:mode   wrap   nbsp   结果   div   exp   nta   ons   介绍   

原文地址:https://www.cnblogs.com/Mr-Peng/p/11684817.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!