当前位置: 首页 > news >正文

建设网站必须用dns网站备案查询 美橙网

建设网站必须用dns,网站备案查询 美橙网,牛网站,南山做网站价格文章目录 #x1f680;前言#x1f680;库函数strlen✈️strlen的模拟实现 #x1f680;库函数strcpy✈️strcpy的模拟实现 #x1f680;strcmp✈️strcmp的模拟实现 #x1f680;strstr✈️strstr的模拟实现 #x1f680;strcat✈️strcat的模拟实现 #x1f680;前言 … 文章目录 前言库函数strlen✈️strlen的模拟实现 库函数strcpy✈️strcpy的模拟实现 strcmp✈️strcmp的模拟实现 strstr✈️strstr的模拟实现 strcat✈️strcat的模拟实现 前言 今天阿辉将为大家介绍字符串库函数strlen、strcpy、strcmp、strstr、strcat的使用以及模拟实现关注阿辉不迷路哦 内容干货满满接下来就跟着阿辉一起学习吧 库函数strlen 库函数strlen是专门求字符串长度的库函数strlen只能求字符串长度且要求字符串末尾须有\0返回值长度不包括\0 strlen的函数声明 size_t strlen(const char* src); 返回值为size_t类型 接受一个字符串的首元素地址即可返回字符串长度例子 #includestdio.h #includestring.hint main() {char* a abcdef;//末尾有\0char c[] { a,b,c,d,e,f };//末尾无\0printf(%zd\n, strlen(a));printf(%zd\n, strlen(c));return 0; }输出 上图我们可以看到一个输出6而一个却是42就是因为常量字符串a末尾有\0而字符串数组c末尾无\0而库函数strlen计算的长度是从字符串首元素到\0之间的元素个数若字符串末尾无\0strlen则会一直向后找到\0位置然后返回。在C语言中\0堪称字符串的灵魂后面几个函数会让大家有更深的体会。 ✈️strlen的模拟实现 铁子们咱们直接代码以及详解奉上 size_t my_strlen(const char* src) {assert(src ! NULL);//断言判断传入指针不为空size_t ret 0;//记录字符串长度作为返回值while (*src)//这句代码下面单独解释{ret;}return ret; }关于while(*src)这句代码因为后置的优先级更高所以src但是又因为后置实现使用后所以*src这个表达式的值是*src然后src再加1然后当指针src偏移到\0位置时while循环就停止了因为\0的本质就是0 库函数strcpy 库函数strcpy是用来用来拷贝字符串的 strcpy的函数声明 char* strcpy(char* dest, const char* src); 把从src地址开始到\0的字符串复制到以dest开始的地址空间 返回值为拷贝位置起始地址注意 将源指向的 C 字符串复制到目标指向的数组中包括终止空字符并在该点停止源字符串必须以 ‘\0’ 结束。会将源字符串中的 ‘\0’ 拷贝到目标空间。目标空间必须足够大以确保能存放源字符串。目标空间必须可变 例子 int main() {char a[] abcd;char b[10] { 0 };strcpy(b, a);printf(%s,b);return 0; }输出 abcd✈️strcpy的模拟实现 char* my_strcpy(char* dest, const char* src) {char* ret dest;//记下目标位置起始地址assert(dest src);//断言判断传入的指针不为空while (*dest *src){;}return ret;//返回目标位置起始地址 }*dest *src这段代码可以理解为先进行*dest *src 然后dest dest 1; src src 1当src指向\0时\0赋给*dest然后跳出循环 strcmp 库函数strcmp的函数声明 int strcmp(const char* str1, const char* str2);strcmp是用来比较字符串大小的函数但并非是以字符串长度比较的而是从两个字符串的起始位置开始一一对应地进行比较如果它们彼此相等则继续以下对直到字符不同或达到\0字符不同时比较的是ASII值大小 返回值 第一个字符串大于第二个字符串则返回大于0的数字第一个字符串等于第二个字符串则返回0第一个字符串小于第二个字符串则返回小于0的数字 例子 int main() {char a[] adc;char b[] abcd;int ret strcmp(a, b);printf(%d , ret);return 0; }输出 1✈️strcmp的模拟实现 int my_strcmp(const char* str1, const char* str2) {assert(str1 str2);while (*str1 *str2){if (*str1 \0)//两字符串相等同时指向字符串末尾的\0return 0;str1;str2;}return *str1 - *str2;//不等位置相减 }strstr 库函数strstr的函数声明 char* strstr(const char* str1, const char* str2);strstr函数是用来判断主串str1中是否存在子串str2如果存在则返回str1中第一次出现子串的起始位置地址否则返回NULL 阿辉作图给大家展示一下 int main() {char a[] abcdsfejsl;char b[] dsfe;printf(%s, strstr(a, b));return 0; }输出 dsfejsl因为返回的是主串中子串起始位置地址上述代码中也就是d位置的地址用%s打印就是dsfejsl这一段 ✈️strstr的模拟实现 char* my_strstr(const char* dest, const char* src) {assert(dest src);//断言判断不为空char* ret dest;//ret作返回值记录主串下一个起始比对位置char* p src;//记录子串的起始位置if (*src \0)//子串为空直接返回主串{return ret;}while (*dest)//遍历到主串\0位置跳出循环{//从主串起始比对位置与子串一一比对while (*dest *src)//不相等时跳出循环{if (*dest \0)//当主串遍历到\0位置还进来说明子串也到末尾\0位置了直接返回主串起始比对位置{return ret;}}if (*src \0)//跳出循环时src已到\0位置说明主串中找到子串返回主串起始比对位置{return ret;}dest ret;//上述if都没进去说明该主串起始比对位置找不到子串ret记录下一个起始比对位置并把值赋给dest从下一个起始比对位置开始遍历src p;//src返回子串起始位置}return NULL;//上述都为返回说明找不到返回空 }铁子们不懂的话下面这幅图还有解释 strcat 库函数strcat的函数声明 char* strcat(char* dest, const char* src);strcat库函数是用来把src所指向的字符串包括\0复制到dest所指向的字符串后面删除*dest原来末尾的\0。要保证*dest足够长以容纳被复制进来的*src。*src中原有的字符不变。返回指向dest的指针 例子 int main() {char a[20] abc;char b[] dsfe;printf(%s\n, strcat(a, b));return 0; }输出 abcdsfe✈️strcat的模拟实现 char* my_strcat(char* dest, const char* src) {assert(dest src);//断言判断不为空char* ret dest;//记录起始地址作为返回值while (*dest)//找到目标字符串\0位置{dest;}while (*dest *src){;}return ret; }while (*dest *src)这段代码前面大家见得多了实在不理解可以自己敲出来试试这里阿辉复制粘贴一下 *dest *src这段代码可以理解为先进行*dest *src 然后dest dest 1; src src 1当src指向\0时\0赋给*dest然后跳出循环 到这里阿辉今天对于C语言中部分字符函数的分享就结束了希望这篇博客能让大家有所收获, 如果觉得阿辉写得不错的话记得给个赞呗铁子们的支持是我创作的最大动力
http://www.dnsts.com.cn/news/189942.html

相关文章:

  • 共享空间网站开发公司安徽建设银行网站
  • 深圳市建设工程交易中心网站贵州建设职业技术学院官方网站
  • 网站模板下优化网站软文
  • IP怎么屏蔽网站域名企业起名字大全免费
  • 怎么通过网站打广告wordpress+下载站
  • 848给我做一下88网站给个免费资源
  • 网站建优化免费十大软件大全下载安装
  • 网站栏目结构南京软件定制
  • 网站建设与设计ppt模板下载二级网站 备案
  • 长春广告公司网站建设网站运营难吗
  • 湖南省建设厅网站首页有什么好的书写网站
  • 持续推进网站建设怎样做收费网站
  • 网站 备案微信公众 wordpress
  • 做私活的网站郑州短视频代运营公司
  • 宿迁网站建设多少钱最近新闻摘抄
  • 做美篇发网站wordpress为什么打开商城非常慢
  • 做招聘网站如何宣传wordpress表单拖拽
  • 福安建设网站济南网站开发培训
  • 福州品牌网站设计服装商城的网站策划书
  • 网站开发的广告词首页wordpress主题
  • 如何进行网络推广和宣传seo技术外包 乐云践新专家
  • 南昌定制网站开发wordpress问答功能
  • 怎么做pc端移动网站360免费wifi电脑版
  • 永久免费企业网站申请北京网站建设制作方案
  • 北京知名网站建设seo搜索引擎是什么
  • 赤水市住房和城乡建设局网站手机网站建设的重要性
  • 群晖nas建设网站wordpress path主题
  • 金融网站策划免费注册tk域名
  • wordpress重复安装朝阳seo排名优化培训
  • 网站建设打造wordpress站点地图无法读取