皮皮网

【导航下载源码】【imtoken系统源码】【golang源码阅读】strchar函数源码_strcat函数源码

时间:2024-12-29 10:31:12 来源:海洋之星源码 作者:soul软件源码

1.strchar����Դ��
2.str函数详解

strchar函数源码_strcat函数源码

strchar����Դ��

       int strcmp(char *s,函t函char *t)

       {

       while(*s==*t&&*s){ s++;t++;}

       return *s-*t;

       }

       char *strcat(char *s,char *t)

       {

       char *p=s;

       while(*p) p++;

       while(*p++=*t++)

       return s;

       }

       char *strstr(char *s,char *t)

       {

        char *p1,*p2;

        while(*s)

        {

         for(p1=s,p2=t;*p1==*p2&&*p2;p1++,p2++);

         if(*p2=='\0') return(s);

         s++;

        } 

       return NULL;

       }

str函数详解

       常常见到面试时让写str系列函数,用的数源数源少,经常忘记,码s码记录一下。函t函

       1、数源数源strcat()

       此函数原型为 char *strcat(char *dest,码s码导航下载源码 const char *src).

       功能为连接两个字符串,把src连接到dest后面;返回dest地址

       实现:

       char * strcat(char *dest,函t函const char *src)

       {

       char* addr=dest;

       while(*dest)//找到\0

       {

       dest++;

       };

       while(*dest++=*src++)

       { };

       return addr;

       }

       2、strcmp()

       此函数的数源数源函数原型为 int strcmp(const char *str1, const char *str2).

       功能为比较两个字符串。

       当str1指向的码s码字符串大于str2指向的字符串时,返回正数。函t函

       当str1指向的数源数源字符串等于str2指向的字符串时,返回0。码s码

       当str1指向的函t函imtoken系统源码字符串小于str2指向的字符串时,返回负数。数源数源

       实现:

       int strcmp(const char *str1,码s码 const char *str2)

       {

       while(*str1==*str2)

       {

       if(*str1==\0)

       return 0;

       str1++;

       str2++;

       }

       return *str1-*str2;

       }

       3、strcpy()

       此函数原型为 char *strcpy(char* dest, const char *src)

       功能为拷贝字符串内容到目的串,把src所指向的内容拷贝到dest

       实现:

       char *strcpy(char *dest,const char *src)

       {

       //assert(dest!=NULLsrc!=NULL);

       char *addr=dest;

       while(*dest++=*src++);

       return addr;

       }

       4、strlen()

       此函数原型为unsigned in strlen(const char *str)

       功能为返回字符串str的长度(不包括\0)。

       实现:

       unsigned int strlen(const char *str)

       {

       unsigned len=0;

       while(*str!=\0)

       {

       len++;

       str++;

       }

       return len;

       }

       5、golang源码阅读strchr() strrchr()

       char *strchr(char *str, char c)

       功能为查找str中首次出现c的位置,如有有,则返回出现位置,否则返回NULL。实现:

       char *strchr(char *str, char c)

       {

       while(*str!=\0*str!=c)

       {

       str++;

       }

       return (*str==c? str: NULL);

       }

       char *strrchr(char *str, char c)

       功能为查找str中最后一次出现c的位置,如有有,java dvd 源码则返回出现位置,否则返回NULL。实现:

       char *strrchr(char *str, char c)

       {

       char *p=str+strlen(str);//p指向最后一个字符

       while(p!=str*p!=c)

       p--;

       if(p==str*p!=c)

       return NULL;

       else return p;

       }

       6、strcspn() strspn()

       strcspn

       原型:size_t strcspn(const char *pstr, const char *strCharset)

       MSDN解释为:在字符串pstr中搜寻strCharsret中所出现的字符,返回strCharset中出现的第一个字符在pstr中的出现位置。简单的源码安装filebeat说,若strcspn返回的数值为n,则代表字符串strCharsrt开头连续有n个字符不包含在pstr内的字符。

       实现十分巧妙,在/chenyu/article/details/

       原型size_t strspn(const char *pstr, const char *strCharset)

       功能:返回后面字符串中第一个不在前者出现的下表。

       7、strdup()

       此函数原型为char *strdup(const char *str)

       功能为拷贝字符串到新建的内存,返回内存指针。若失败,返回NULL。要注意,返回的指针指向的内存在堆中,所以要手动释放。

       函数:

       char *strdup(const char *str)

       {

       char *p=NULL;

       if(str(p=(char*)malloc(strlen(str)+1)))

       strcpy(p,str);

       return p;

       8、strrev()

       此函数的原型为char *strrev(char *str)

       功能为反转字符串,返回字符串指针。

       函数:

       char *strrev(char *str)

       {

       if(str==NULL)

       return NULL;

       char *start=str;

       char *end=str+strlen(str)-1;

       char temp;

       while(start

       {

       temp=*start;

       *start=*end;

       *end=temp;

       start++;

       end--;

       }

       return str;

       }

       9、strstr()

       函数原型为char *strstr(const char str1, const char *str2)

       功能为查找字符串str2在str1中出现的位置,找到则返回位置,否则返回NULL。

       函数:

       char *strstr(const char str1, const char *str2)

       {

       int length1=strlen(str1);

       int length2=strlen(str2);

       while(length1=length2)

       {

       length1--;

       if(!strncpy(str1,str2,length2))//比较前n个字符串,类似strcpy

       return str1;

       str1++;

       }

       return NULL;

       }

关键词:空心k线源码

copyright © 2016 powered by 皮皮网   sitemap