中国免费网站申请环球网最新国际新闻

news/2025/10/6 2:21:27/文章来源:
中国免费网站申请,环球网最新国际新闻,找回网站后台,镇江vi设计大家好#xff0c;我是残念#xff0c;希望在你看完之后#xff0c;能对你有所帮助#xff0c;有什么不足请指正#xff01;共同学习交流 本文由#xff1a;残念ing 原创CSDN首发#xff0c;如需要转载请通知 个人主页#xff1a;残念ing-CSDN博客#xff0c;欢迎各位…大家好我是残念希望在你看完之后能对你有所帮助有什么不足请指正共同学习交流 本文由残念ing 原创CSDN首发如需要转载请通知 个人主页残念ing-CSDN博客欢迎各位→点赞 收藏⭐️ 留言 系列专栏残念ing 的C语言系列专栏——CSDN博客 目录 前言 1.字符分类函数 2.字符转换函数 3.strlen 函数 3.1 正确使用strlen函数 3.2 模拟实现strlen函数 4. strcpy 函数 4.1 strcpy的使用 4.2 模拟实现strcpy 5. strcat 函数 5.1 strcat的使用 5.2 模拟实现strcat 6. strcmp 函数 6.1 strcmp的使用 6.2 模拟实现strcmp 7. strncpy函数 7.1 strncpy 的使用 8.strncat 函数 8.1 strncat 的使用 9. strncmp 函数 9.1 strncmp 的使用 10. strstr 函数 10.1 strstr 的使用 10.2 模拟实现strstr 11. strtok 函数 11.1 strtok 的使用 12. strerror 函数 12.1 strerror 的使用 前言 我们在编程过程中我们阶乘要处理到一下字符和字符串为了方便操作字符和字符串C语言为我们太贵了一系列的库函数现在我们就来学一下这些函数吧。 1.字符分类函数 在C语言中专门有一些函数是做字符分类的就是判断一个字符属于什么类型的字符。 注使用这些函数必须包含头文件 ctype.h 函数如果参数符合下列条件返回真iscntrl任何控制字符isspace空白字符空格  ‘ ’换页 ‘\f’换行‘\n’回车‘\r’制表符‘\t’或者垂直制表符‘\v’isdigit十进制数字0-9isxdigit十六进制数字包含所以十进制数字小写字母a-f大小字母A-Fislower小写字母a-zisupper大写字母A-zisalpha字母a-z或A-zisalnum字母或者数字a-z,A-Z,0-9ispunct标点符合任何不属于数字或者字母的图形字符可打印isgraph任何图形字符isprint任何可打印字符包括图形字符和空白字符 其实这么多函数他们的使用方法非常类似我们列举一个函数其他的都很类似 int islower(int c) //islower是判断参数c是否是小写字母如果是返回非0的整数如果不是则返回0 练习将字符串中的小写字母转换为大小字母其他字符不变 #include stdio.h #include ctype.h int main() {int i 0;char str[] Test String\n;char c;while (str[i]){c str[i];if (islower(c))c - 32;//小写字母转换成大写字母-32putchar(c);//打印ci;}return 0; } 2.字符转换函数 C语言中提供了2个字符转换函数 int tolower ( int c ); //将参数传进去的⼤写字⺟转⼩写 int toupper ( int c ); //将参数传进去的⼩写字⺟转⼤写 我们知道了这两个函数我们就可以把上面的类型写为 #include stdio.h #include ctype.h int main() {int i 0;char str[] Test String\n;char c;while (str[i]){c str[i];if (islower(c))c toupper(c);//将小写字母转换成大写字母putchar(c);i;}return 0; } 3.strlen 函数 size_t strlen ( const char * str );注意 1. 字符串以 \0 作为结束标志strlen函数返回的是在字符串中 \0 前⾯出现的字符个数不包 含 \0 )。 2. 参数指向的字符串必须要以 \0 结束。 3. 注意函数的返回值为size_t是⽆符号的 易错 4. strlen的使⽤需要包含头⽂件string.h 3.1 正确使用strlen函数 #include stdio.h #include string.h int main() {const char* str1 abcdef;const char* str2 bbbbb;if (strlen(str2) - strlen(str1) 0){printf(str2str1\n);}else{printf(srt1str2\n);}return 0; } 3.2 模拟实现strlen函数 //方法1 //计数器⽅式 int my_strlen(const char* str) {int count 0;assert(str);while (*str){count;str;}return count; } //方法2 //不能创建临时变量计数器递归 int my_strlen(const char* str) {assert(str);if (*str \0)return 0;elsereturn 1 my_strlen(str 1); } //方法3 //指针-指针的⽅式 int my_strlen(char* str) {assert(str);char* p str;while (*p ! \0)p;return p - str; } 4. strcpy 函数 char* strcpy(char * destination, const char * source ); 功能 将源指向的C字符串复制到目标指向的数组中包括终止空字符并在该点停止 注 1. 源字符串必须以\0结束。 2. 会将源字符串中的\0拷贝到目标空间 3. 目标空间必须足够大以确保能存放源字符串。 4. 目标空间必须可以修改 4.1 strcpy的使用 int main() {char arr1[] abcdef;char arr2[20] ;char* ret strcpy(arr2, arr1);for (int i 0; i 20; i){printf(%c, arr2[i]);}return 0; } 4.2 模拟实现strcpy char* my_strcpy(char* p1, const char* p2) {while (*p2 ! \0){*p1 *p2;p1;p2;}return p1; } int main() {char arr1[] abcdef;char arr2[20] ;char* ret my_strcpy(arr2, arr1);for (int i 0; i 20; i){printf(%c, arr2[i]);}return 0; } 5. strcat 函数 char* strcat(char * destination, const char * source ); 功能将源字符串的副本追加到目标字符串。目的地的终止空字符被源的第一个字符覆盖并且在目的地中由两个字符串串联而成的新字符串的末尾包含一个空字符。 注意 1.源字符串必须以\0结束 2. 目标字符串中也得有\0,否则没办法知道追加从哪里开始 3. 目标空间必须有足够的大能容纳下源字符串的内容 4. 目标空间必须可修改 5.1 strcat的使用 int main() {char arr1[20] abcdef;char arr2[20] abcda;char* ret strcat(arr1, arr2);for (int i 0; i 20; i){printf(%c, arr1[i]);}return 0; } 5.2 模拟实现strcat char* my_strcat(char* p1, const char* p2) {while (*p1 ! \0){p1;}while (*p2 ! \0){*p1 *p2;p1;p2;}*p1 *p2;return p1; } int main() {char arr1[20] abcdef;char arr2[20] abcda;char* ret my_strcat(arr1, arr2);for (int i 0; i 20; i){printf(%c, arr1[i]);}return 0; } 6. strcmp 函数 char* strcat(const char * destination, const char * source ); 功能比较每个字符串的第一个字符。如果它们彼此相等则继续比较下去直到字符不同或到达终止空字符为止。 注意 1. 第一个字符串大于第二个字符串则返回大于0的数字 2. 第一个字符串等于第二个字符串则返回0 3. 第一个字符串小于第二个字符串则返回小于0的数字 比较方法比较两个字符串中对应位置上字符ASCII码值的大小。 6.1 strcmp的使用 int main() {char arr1[] abcdef;char arr2[20] abcda;int ret strcmp(arr1, arr2);printf(%d\n, ret);return 0; } 6.2 模拟实现strcmp int my_strcmp(const char* p1, const char* p2) {while (*p1 *p2){if (*p1 \0)return 0;p1;p2;}if (*p1 *p2)return 1;elsereturn -1; } int main() {char arr1[] abcdef;char arr2[20] abcda;int ret my_strcmp(arr1, arr2);printf(%d\n, ret);return 0; } 7. strncpy函数 char * strncpy ( char * destination, const char * source, size_t num );功能将源字符串的第一个num字符复制到目标字符串。如果在num字符被复制之前找到了源字符串的结尾由null字符表示则用零填充直到向其总共写入num字符为止。 注意 1.拷⻉num个字符从源字符串到⽬标空间。 2. 如果源字符串的⻓度⼩于num则拷⻉完源字符串之后在⽬标的后边追加0直到num个。 7.1 strncpy 的使用 int main() {char arr1[] world;char arr2[20] hello;strncpy(arr1, arr2, 3);//当超过字符串长度时添加\0printf(%s, arr1);return 0; } 8.strncat 函数 char * strncat ( char * destination, const char * source, size_t num );功能将source指向字符串的前num个字符追加到destination指向的字符串末尾再追加⼀个 \0 字符。如果source 指向的字符串的⻓度小于于num的时候只会将字符串中到 \0 的内容追加到destination指向的字符串末尾。 8.1 strncat 的使用 int main() {char arr1[20] world;char arr2[20] hello;strncat(arr1, arr2, 3);//会追加\0printf(%s, arr1);return 0; } 9. strncmp 函数 int strncmp ( const char * str1, const char * str2, size_t num );功能⽐较str1和str2的前num个字符如果相等就继续往后⽐较最多⽐较num个字⺟如果提前发现不一样就提前结束⼤的字符所在的字符串⼤于另外⼀个。如果num个字符都相等就是相等返回0。 9.1 strncmp 的使用 int main() {char arr1[20] world;char arr2[20] hello;int ret strncmp(arr1, arr2, 3);//会追加\0printf(%d, ret);return 0; } 10. strstr 函数 char * strstr ( const char * str1, const char * str2); 功能函数返回字符串str2在字符串str1中第⼀次出现的位置字符 串的⽐较匹配不包含 \0 字符以 \0 作为结束标志。 10.1 strstr 的使用 int main() {char arr1[] i think you ;char arr2[] think;char* ret strstr(arr1, arr2);if (ret ! NULL)printf(%s\n, ret);elseprintf(没有找到\n);return 0; } 10.2 模拟实现strstr char* my_strstr(char* p1, char* p2) {if (*p2 \0){return NULL;}char* cur p1;while (*cur ! \0){char* p3 cur;char* p4 p2;while (*p3 *p4){p3;p4;}if (*p4 \0){return p2;}cur;}return NULL; } int main() {char arr1[] I think you ;char arr2[] think;char* ret my_strstr(arr1, arr2);if (ret ! NULL)printf(%s\n, ret);elseprintf(没有找到\n);return 0; } 11. strtok 函数 char * strtok ( char * str, const char * sep);注意 1.sep参数指向⼀个字符串定义了⽤作分隔符的字符集合 2. 第⼀个参数指定⼀个字符串它包含了0个或者多个由sep字符串中⼀个或者多个分隔符分割的标 记。 3.strtok函数找到str中的下⼀个标记并将其⽤ \0 结尾返回⼀个指向这个标记的指针。注 strtok函数会改变被操作的字符串所以在使⽤strtok函数切分的字符串⼀般都是临时拷⻉的内容 并且可修改。 4. strtok函数的第⼀个参数不为 NULL 函数将找到str中第⼀个标记strtok函数将保存它在字符串 中的位置。 5. strtok函数的第⼀个参数为 NULL 函数将在同⼀个字符串中被保存的位置开始查找下⼀个标 记。 6. 如果字符串中不存在更多的标记则返回 NULL 指针。 11.1 strtok 的使用 int main() {char arr[] 192.168.6.111;char* sep .;char* str NULL;for (str strtok(arr, sep); str ! NULL; str strtok(NULL, sep)){printf(%s\n, str);}return 0; } 12. strerror 函数 char * strerror ( int errnum ); 功能strerror函数可以把参数部分错误码对应的错误信息的字符串地址返回来。 在不同的系统和C语⾔标准库的实现中都规定了⼀些错误码⼀般是放在 errno.h 这个头⽂件中说明 的C语⾔程序启动的时候就会使⽤⼀个全⾯的变量errno来记录程序的当前错误码只不过程序启动 的时候errno是0表⽰没有错误当我们在使⽤标准库中的函数的时候发⽣了某种错误就会讲对应 的错误码存放在errno中而⼀个错误码的数字是整数很难理解是什么意思所以每⼀个错误码都是 有对应的错误信息的。strerror函数就可以将错误对应的错误信息字符串的地址返回。 12.1 strerror 的使用 #include errno.h #include string.h #include stdio.h //我们打印⼀下0~10这些错误码对应的信息 int main() {int i 0;for (i 0; i 10; i) {printf(%s\n, strerror(i));}return 0; } 打印结果 补充与这个函数功能比较像的函数还有perror函数prrror函数是直接将错误信息打印出来。perror函数打印完参数部分的字符串后再打印⼀个冒号和⼀个空格再打印错误信息。 #include stdio.h #include string.h #include errno.h int main() {FILE* pFile;pFile fopen(unexist.ent, r);if (pFile NULL)perror(Error opening file unexist.ent);return 0; } 打印结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928930.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设 业务无忧建站

背景: gazebo 模型库里的模型在我需要完成的任务中不够用,还是得从 solidworks、3DMax, blender这种建模软件里面在手动画一些,或者去他们的库里面在挖一挖。 目录 1 blender 1-1 blender 相关links 1-2 install 2 gazebo导入模型 2-1 g…

厦门网站建设外贸装修估价网

城市内涝是多个城市广泛存在的问题,经常给城市的居民和基础设施带来一些安全威胁。暴雨引发的道路积水和交通中断、财产损失,甚至公共安全威胁都是城市管理者需要提前预防的问题。为了解决这些问题,内涝积水监测仪的应用是一大重要的举措&…

公司招聘网站排行榜中国电商平台排行榜前十

为什么不推荐使用外键与级联? 【强制】不得使用外键与级联,一切外键概念必须在应用层解决。 说明: 以学生和成绩的关系为例,学生表中的 student_id 是主键,那么成绩表中的 student_id 则为外键。如果更新学生表中的 student_id&#xff0c…

广西旅游 网站建设青岛做网站排名

一.正则表达式概述 1.正则表达式定义 1.1 定义 使用字符串描述、匹配一系列符合某个规则的字符串 1.2 了解 普通字符: 大小写字母、数字、标点符号及一些其它符号元字符: 在正则表达式中具有特殊意义的专用字符 1.3 层次分类 基础正则表达式扩展正…

python和php网站开发wordpress虚线框

云上磨一剑,砥砺自生辉移动云开发者社区挥手2020,焕新2021迎来社区功能全新升级现已正式上线移动云开发者社区自2020年11月对外发布以来,依托移动云全面的云能力、丰富的产品体系、专业领域能力培训认证、优质双创服务体系等核心资源&#xf…

网站建设报价方案下载建设网站的价格分析

题一:利用装饰器来计算函数的执行时间 代码: import timedef decorated(fn):def inner():a time.time() # func开始的时间 time.time记录时间fn()b time.time() # func结束的时间print(f"{fn.__name__}程序运行的总数时间:{b - a}秒"…

安顺市建设局网站宽屏网站设计

前言: 鸿蒙系统的学习与记录。 1 、使用开发工具:deveco-studio 1)这个是工具的安装 2)这个是工具包,里面包含了 obpm,如果你装不上这个,可以使用工具包内部的 2、安装 官方安装教程&#xff…

直播做网站WordPress多站点开启多语言

TypeScript 中的未知类型是一种特殊的类型,它用于表示我们不知道变量的类型是什么。与 any 类型不同,未知类型不允许我们直接对其进行操作或调用其方法,除非我们先进行类型检查。这是为了提高代码的类型安全性。 我们可以使用类型断言、类型…

四大门户网站是哪些单位网站建设目的

1.MyBatis的CRUD 创建工程&#xff1a; 1.1.查询 1.1.1.单个参数绑定 //单个参数传递public User findUserById(Integer id);<!--parameterType:指定输入参数的类型resultType&#xff1a;指定数据结果封装的数据类型#{id}&#xff1a;它代表占位符&#xff0c;相当于原来…

做网站属于技术开发吗WordPress多域名无法登录

微机原理 数据传送指令微机原理 4指令系统 3通过数据传输地址 地址传送指令 标志传送指令微机原理 4指令系统 3通过数据传输地址 地址传送指令 标志传送指令微机原理指令 微机原理sub指令 csdn微机原理 4指令系统 3通过数据传输地址 地址传送指令 标志传送指令微机原理 4指令系…

南昌市住房和城乡建设网站2021年电商平台排行榜

目录 一 什么是大数据&#xff1f; 二 大数据特征 三 分布式计算 四 Hadoop是什么? 五 Hadoop发展及版本 六 为什么要使用Hadoop 七 Hadoop vs. RDBMS 八 Hadoop生态圈 九 Hadoop架构 一 什么是大数据&#xff1f; 大数据是指无法在一定时间内用常规软件工具对其内…

简述网站的建站具体流程自己开发一个wordpress主题

A&#xff1a; 这种操作题&#xff0c;每次先想这个操作有什么性质 对于2^0来说可以操作 第1位 对于2^1来说可以操作 第1-2位 对于2^2来说可以操作 第1-4位 &#xff08;第3位无法单独修改&#xff09; 对于2^3来说可以操作 第1-8位&#xff08;第5 6 7位无法单独修改&…

网站结构是体现的工程分包信息平台

1. 透明度测试物体的阴影 对于物体有片元丢弃的情况&#xff0c;比如透明度测试或者后边会讲到的消融效果&#xff0c;使用默认的 ShadowCaster Pass 会产生问题&#xff0c;这是因为该Pass在生成阴影映射纹理时&#xff0c;没有考虑被丢弃的片元&#xff0c;而是使用完整的模…

混沌鸿蒙网站建设公司网站建设维护及使用管理办法

上一章学习了STM32MP1内置RTC外设&#xff0c;了解了Linux系统下RTC驱动框架。一般的应用场合使用SOC内置的RTC就可以了&#xff0c;而且成本也低&#xff0c;但是在一些对于时间精度要求比较高的场合&#xff0c;SOC内置的RTC就不适用了。这个时候需要根据自己的应用要求选择合…

day1 Gitlab Runner 学习

Gitlab Runner 学习 runner下载|安装|启动 下载 # 为您的系统下载二进制文件 sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runne…

网站云优化有哪些做网站好的公司

文章目录 一、前言二、准备阶段三、环境配置3.1 Type-V管理器环境配置3.2 新增.wslconfig 文件 四、遇到的问题以及解决方案 一、前言 ​ 使用 wsl 的过程中&#xff0c;会出现 WSL 的IP地址 找不到&#xff0c;或者无法和计算机通讯&#xff0c;搞 嵌入式 的话&#xff0c;还…

珠海模板建站平台网站建设用途

一 什么是nodeJs nodeJs是一个后端技术&#xff0c;研究web应用的开发模式&#xff0c;能够开发一些简单的服务器&#xff0c;学会操作数据库等等。官方解释就是&#xff1a;nodeJs是基于谷歌v8引擎的javascript运行环境 nodeJs使用了一个事件驱动&#xff0c;非非阻塞式I/O模型…

网站建设合作伙伴网页搜索器

要搭建自己的 PyPI 服务器&#xff0c;您可以使用 warehouse 项目&#xff0c;它是 PyPI 的开源实现。下面是一些基本步骤&#xff1a; 准备环境&#xff1a; 安装 Python安装 PostgreSQL 数据库 克隆 warehouse 项目&#xff1a; git clone https://github.com/pypa/wareh…

Software Foundations Vol.I : 使用结构化的数据(Lists)

Software Foundations Vol.I : 使用结构化的数据(Lists)数值序对 在 Inductive 类型定义中,每个构造子(Constructor)可以有任意多个参数 —— 可以没有(如 true 和 O),可以只有一个(如 S),也可以更多 (如 ny…