首页 > 作文

C语言字符串函数入门

更新时间:2023-04-04 09:40:50 阅读: 评论:0

目录
实现字符串库函数功能1.strlen函数2.strcmp函数3.strcpy函数4.strcat函数5.strupr函数6.strlwr函数总结

实现字符串库函数功能

有些时候我们可能会被限制无法使用库函数,这个时候我们需要编写自己的库函数。但了解了字符串库函数的功能之后,想要实现并不困难,今天我们用数组和循环来简单实现几个字符串库函数的功能。

1.strlen函数

strlen函数使用来求字符串长度的,遇到\0就会停止,并返回字符串的长度,接下来根据这个特性来编写一下我们自己的strlen

int my_strlen(char st绥靖主义ring[]) {int count= 0;while (string[count] != null) {        count++;}return count;}//也可以将while的判断条件改为string[count]
鸟人电影

有些小伙伴应该知道递归的实现,但是这里涉及了指针的内容,我就不教大家实现了

2.strcmp函数

strcmp字符串比较函数,对两个字符串进行比较,相当返回0,前一个字符串大于后一个字符串会返回大于0的数,小于则返回小于0的数,至于具体返回多少,则需要看编译器。

在实现strcmp功能之前,我们需要了解它的机制,strcmp是一个字符一个字符的比较ascii值的

int  my_strcmp(char string1[], char string2[]) {int i = 0;   //当两个字符串都没有达到末端时,继续比较while ((string1[i] == string2[i]) && string1[i] && string2[i])i++;return string1[i] - string2[i]; //当两个字符串指向的字符不一样或者到达终点时返回差值}

一个简单的while循环就能达到目的

3.strcpy函数

字符串拷贝函数,将后一个字符串拷贝到前一个字符串中,我们需要保证目的地足够大

void my_strcpy(char string1[50], char string2[]) {int i = 0;while (string1[i++] = string2[i++]);}//这里利用了赋值表达式的特性,直接进行赋值,当string[i]为
void my_strcpy(char string1[50], char string2[]) {int i = 0;while (string1[i++] = string2[i++]);}//这里利用了赋值表达式的特性,直接进行赋值,当string[i]为\0时赋值完循环自动停止//当然这个程序并不是完美的,根据strcpy的返回值我们还可以这样修改char* my_strcpy(char string1[50], char string2[]) {int i = 0;while (string1[i++] = string2[i++]);return string1;}//返回目的地的起始地址
时赋值完循环自动停止//当然这个程序并不是完美的,根据strcpy的返回值我们还可以这样修改char* my_strcpy(char string1[50], char string2[]) {int 薛来i = 0;while (string1[i++] = string2[i++]);return string1;}//返回目的地的起始地址

4.strcat蓼莪怎么读函数

strcat字符串追加,在一个字符串之后追加一个新的字符串,如果以strcpy的角度理解就是以第一个字符串的\0位置为起始地址进行字符串拷贝,那么接下来就很简单了

char* my_strcat(char string1[50], char string2[]) {int i = -1;while (string1[++i]);//循环停止时i指向
char* my_strcat(char string1[50], char string2[]) {int i = -1;while (string1[++i]);//循环停止时i指向\0int j = 0;while (string1[i++] = string2[j++]); //与strcpy同理return string1;}
int j = 0;while (string1[i++] = string2[j++]); //与strcpy同理return string1;}

5.strupr函数

strupr字符串大写函数,将所有字符串中的小写字母都变成大写,我们只需要根据ascii值就可以简单实现

char*my_strupr(char string[]) {int i = 0;while (string[i]) {       //当string[i]指向
char*my_strupr(char string[]) {int i = 0;while (string[i]) {       //当string[i]指向\0时循环停止if (string[i] >= 'a' && string[i] <= 'z')string[i] -= 32;i++;}return string;}
时循环停止if (string[i] 关于写作的名言>= 'a' && string[i] <= 'z')string[i] -= 32;i++;}return string;}

6.strlwr函数

和strupr对应,这是字符串小写函数,把大写转成小写,只需要对上面的代码简单一改就可以

char*my_strlwr(char string[]) {int i = 0;while (string[i]) {       //当string[i]指向
char*my_strlwr(char string[]) {int i = 0;while (string[i]) {       //当string[i]指向\0时循环停止if (string[i] >= 'a' && string[i] <= 'z')string[i] += 32;i++;}return string;}
时循环停止if (string[i] >= 'a' && string[i] <= 'z')string[i] += 32;i++;}return string;}

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注www.887551.com的更多内容!

本文发布于:2023-04-04 09:40:48,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/e623435d3fb248e4a1b787e3442b8a85.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:C语言字符串函数入门.doc

本文 PDF 下载地址:C语言字符串函数入门.pdf

标签:字符串   函数   赋值   库函数
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图