云骑士一键装系统-简单一键在线装机工具,一键备份还原功能让系统维护更方便!
BIOS设置 win10教程 win7教程 U盘教程 xp教程 win8教程 电脑故障 电脑资讯 手机教程 软件教程 游戏攻略
当前位置:云骑士 > 使用教程 > 电脑资讯 > str函数详解

str函数详解

文案作者: 骑士
2019-07-26 16:08:00
播放量:

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

1、strcat()

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

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

实现:

char * strcat(char *dest,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指向的字符串大于str2指向的字符串时,返回正数。

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

当str1指向的字符串小于str2指向的字符串时,返回负数。

实现:

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

{

while(*str1==*str2)

{

if(*str1=='\0')

return 0;

str1++;

str2++;

}

return *str1-*str2;

}

str函数详解

3、strcpy()

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

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

实现:

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

{

//assert(dest!=NULL&&src!=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、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的位置,如有有,则返回出现位置,否则返回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;

}

str函数详解(1)

6、strcspn()  strspn()

strcspn

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

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

实现十分巧妙,在http://blog.csdn.net/chenyu2202863/article/details/5293941

原型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;

}

ios14粘贴提示怎么关闭
图文
ios14粘贴提示怎么关闭
ios粘贴提示是无法关闭的,但是可以通过清除剪贴板内容让其不会弹出。首先打开快捷指令,选择快捷指令中心,然后找到巧用剪贴板,选择查看全部,滑...
阅读:2590 发布时间:2020-11-13
电脑蓝屏怎么恢复数据
图文
电脑蓝屏怎么恢复数据
以云骑士数据恢复软件为例,首先打开软件,在界面中选择误删除文件,选择恢复功能后,选择原文件储存的位置,选择之后点击右下角的开始扫描按钮,...
阅读:230 发布时间:2021-06-21
wifi已连接无法访问互联网
图文
wifi已连接无法访问互联网
首先要看看家中光猫的状态灯是否正常,网线是否正常连接,如果路由器正常的话,问题有可能出现在手机端。显示无法访问互联网,还有可能是外网或路...
阅读:2856 发布时间:2020-09-04
初中议论文教学ppt
图文
初中议论文教学ppt
以甲虫课堂为例,打开微信,点击搜索,输入甲虫课堂,选择并关注公众号,进入后点击模板下载,选择PPT模板,输入关键词论文,选择模板,点击登录下...
阅读:202 发布时间:2021-10-06
《鬼谷八荒》凛雪冰夷奇遇攻略分享 如何触发凛雪冰夷奇遇?
图文
《鬼谷八荒》凛雪冰夷奇遇攻略分享 如何触发凛雪冰夷奇遇?
《鬼谷八荒》是由鬼谷工作室制作,发行的一款角色扮演类游戏,玩家展开体验时能够遇到许多不同的奇遇,而《鬼谷八荒》凛雪冰夷奇遇攻略分享 如何触...
阅读:200 发布时间:2023-02-28
没光驱怎么重装电脑系统
没光驱怎么重装电脑系统
浏览:16052
2020-10-19
东芝笔记本重装系统教程
东芝笔记本重装系统教程
浏览:13299
2020-06-24
电脑没有音频设备怎么办
电脑没有音频设备怎么办
浏览:26887
2020-12-09
win7麦克风没声音怎么设置
win7麦克风没声音怎么设置
浏览:24228
2020-10-17
hp笔记本重装系统
hp笔记本重装系统
浏览:7643
2022-01-05

客服二维码

邮箱:toplearningteam#gmail.com (请将#换成@)

Copyright 2013-2020 云骑士( https://www.yunqishi.net/ ) 版权所有 All Rights Reserved   鄂ICP备2023010145号-1