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

挪车网站开发网站开发语音

挪车网站开发,网站开发语音,法语网站建设,网站logo替换字符函数和字符串函数 为了方便操作字符和字符串 C语言标准库中提供了一系列库函数 接下来我们学习一下这些函数 字符分类函数 C语言提供了一系列用于字符分类的函数#xff0c;这些函数定义在ctype.h头文件中。这些函数通常用于检查字符是否属于特定的类别#xff0c;例如…字符函数和字符串函数 为了方便操作字符和字符串 C语言标准库中提供了一系列库函数 接下来我们学习一下这些函数 字符分类函数 C语言提供了一系列用于字符分类的函数这些函数定义在ctype.h头文件中。这些函数通常用于检查字符是否属于特定的类别例如大写字母、小写字母、数字等。以下是一些常用的字符分类函数 1.isalpha(int c): 检查字符c是否为字母大写或小写。 2.isupper(int c): 检查字符c是否为大写字母。 3.islower(int c): 检查字符c是否为小写字母。 4.isdigit(int c): 检查字符c是否为数字0-9。 5.isalnum(int c): 检查字符c是否为字母或数字。 6.isxdigit(int c): 检查字符c是否为十六进制数字0-9a-fA-F。 7.isspace(int c): 检查字符c是否为空白字符例如空格、制表符、换行符等。 8.ispunct(int c): 检查字符c是否为标点符号。 9.isgraph(int c): 检查字符c是否为图形字符即非空格字符。 10.isprint(int c): 检查字符c是否为可打印字符包括图形字符和空格字符。 11.iscntrl(int c): 检查字符c是否为控制字符例如回车符、换行符等。 这些函数通常接受一个int类型的参数这是因为char类型在C语言中实际上是一个小的int类型。如果字符属于指定的类别  这些函数返回一个非零值通常是1 否则返回0。 这些函数的使⽤⽅法⾮常类似我们就讲解⼀个函数的事情其他的⾮常类似 比如 函数islower 如果它的参数是小写字母 就返回非0的整数 如果不是小写字母 就返回0 练习 写⼀个代码将字符串中的⼩写字⺟转⼤写其他字符不变。 当然我们没学上述字符分类函数也能做出来 只需要让小写字母-32即可 现在我们用字符分类函数来做 字符转换函数 C语⾔提供了2个字符转换函数  int tolower(int c);//将参数传进去的大写字母转小写 int toupper(int c);//将参数传进去的小写字母转大写 之前的代码我们将⼩写转⼤写是-32完成的效果有了转换函数就可以直接使⽤ tolower函数。 长度不受限制的字符串函数 strlen的使用和模拟实现 函数原型 字符串以\0作为结束标志strlen函数返回的是在字符串中\0前⾯出现的字符个数不包含\0 )。 参数指向的字符串必须要以 \0 结束。 strlen的使⽤需要包含头⽂件#includestring.h  注意函数的返回值为 size_t是⽆符号的易错 两个size_t无符号的数相减得到的结果仍然为无符号数 所以输出 我们要是强转为int类型 即可得到想要的答案 学会strlen函数的模拟实现  我们在之前也有学过 1.计数器的方式 2.指针-指针的方式 3.递归的方式不创建临时变量count my_strlen(“abcdedg”) 1my_strlen(“bcdedg”) 1 1my_strlen(“cdedg”) strcpy的使用和模拟实现 函数原型 源字符串必须以 \0 结束。 会将源字符串中的 \0 拷⻉到⽬标空间。 ⽬标空间必须⾜够⼤以确保能存放源字符串。 ⽬标空间必须可修改。(如果目标空间为常量字符串的时候 无法修改 如 char* arr2”xxxxxxxxx”;)这里就无法修改目标空间arr2了 看下列代码 接下来我们再给一段代码来看 看到调试的结果 我们就知道strcpy会将源字符串的’\0’拷贝到目标文件 strcpy模拟实现  我们可以有一个更加简单的代码 我们模拟函数 尽可能去和原函数相像 strcat的使用和模拟实现 strcat函数的功能是拼接一个字符串到目标空间 函数原型 源字符串必须以\0结束 ⽬标字符串中也得有\0 否则没办法知道追加从哪⾥开始 ⽬标空间必须有⾜够的⼤能容纳下源字符串的内容 ⽬标空间必须可修改 上代码 strcat函数模拟实现 当然我们main函数内的my_strcat也可以修改一下  改成 strcat可以在自己后面追加个自己吗 这里的while是死循环  造成越界访问 程序崩溃 因为这里的dest和src指针都指向arr1 当我们的dest找到了\0 后  此时src指向数组首元素 然后在dest所指的位置接上src位置上的字符   我们会发现src不会遇到\0  因为\0位置都被覆盖了 所以该循环是个死循环 如果遇到自己给自己追加 我们尽量不用strcat函数 strcmp的使用和模拟实现 函数原型 标准规定 第⼀个字符串⼤于第⼆个字符串则返回⼤于0的数字 第⼀个字符串等于第⼆个字符串则返回0 第⼀个字符串⼩于第⼆个字符串则返回⼩于0的数字 那么如何判断两个字符串 ⽐较两个字符串中对应位置上字符ASCII码值的⼤⼩。 strcmp的使用 strcmp的模拟实现 当然我们也可以有另一种方式来比较字符串 这里的return *str1-*str2  当str1大于str2时就返回大于0的数 具体的数根据对应的字符的ASCII码的差值  这里的14就是q和c的ASCII码的差值 长度受限制的字符串函数 strncpy函数的使用 函数原型 1.从源字符串拷贝num个字符到目标空间 2.如果源字符串的长度小于num  则拷贝完字符串之后 在目标的后边追加0  直到num个 当然如果我们这里的num值为8时 我们会在后面加两个’\0’来补空缺位置 strncat函数的使用 函数原型 strncat函数的用途是将一个字符串源字符串的内容连接到另一个字符串目标字符串的末尾但连接的字符数最多为指定的数量。 其中destination(接下来用dest表示是目标字符串source下面用src表示是源字符串num是要连接的字符数。 在连接过程中strncat函数会检查src中的字符数。如果src中的字符数大于num那么strncat只将src的前num个字符附加在dest末尾如果src中的字符数小于num那么strncat会将src的所有字符附加在dest末尾。 值得注意的是dest需要有足够的空间来容纳要拷贝的字符串。另外strncat函数会先将dest字符串最后的’\0’覆盖掉然后在字符追加完成后再追加’\0’。 注意我们这边追加的’\0’和strncpy的补’\0’不一致 当然我们只要知道末尾会有’\0’就ok了 长度不受限制的字符串函数和长度受限制的字符串函数 长度受限制的字符串函数相对安全并不是绝对安全 例如上述代码 strcpy不会管会不会越界 会直接进行拷贝操作 strncmp的使用 函数原型 比较str1和str2的前num个字符 如果相等就继续往后比较 最多比较num个字母 如果提前发现不一样 就提前结束 大的字符所在的字符串大于另外一个 如果num个字符都相等 就是相等 返回0 strstr的使用和模拟实现 函数原型 在一个字符串中 查找另一个字符串 函数返回字符串str2在字符串str1中第一次出现的位置 字符串的比较匹配不包含\0字符  以\0作为结束标志 举例 strstr的模拟实现 接下来我们来讲解在模拟实现中需要考虑的问题 1.最简单的情况 如str1abcdef  str2bcd 这里str1中并没有重复元素 当我们找到b 接着向下比较 直到找到str2的所有元素 最后输出bcdef 2.复杂情况为什么需要cur指针 如str1abbbcdef  str2bcd 这里就比较复杂了 当我们找到第一个b时 我们再向后找3个元素时 发现和str2不相等  如果没有cur指针指向移动前的所在位置这里是第一个b所在位置 此时s1已经指向str1中最后一个b 而s2指向str2中的d 这样我们就会导致无法正确查询在str1是否有和str2字符串相同的片段 3.如果str1abc  str2abc 这里我们知道字符串中有\0来结束 当s1和s2指向\0时 就已经结束了 如果接着向下搜寻 会导致越界访问 所以我的while循环里需要判断s1和s2是否为\0 4.注意这里的强制类型转换 这里有两种原因进行强制类型转换 首先是因为函数的返回值类型为char* 其次因为刚开始 我们设置成const char* 这样就无法对字符串进行操作了 这时强制类型转换是为了字符串的改变 5.特殊情况当*cur找不到相同字符串时 即为空 strtok函数的使用 函数原型 sep参数指向一个字符串 定义了用作分隔符的字符集合该字符串是分隔符的集合 第一个参数指向一个字符串 它包含了0个或者多个由sep字符串中一个或者多个分隔符分割的标记 strtok函数找到str中的下一个标记 并将其用\0结尾 返回一个指向这个标记的指针注strtok函数会改变被操作的字符串 所以被strtok函数切分的字符串一般都是临时拷贝的内容并且可修改 strtok函数的第一个参数不为NULL  函数将找到str中第一个标记  strtok函数将保存它在字符串中的位置 strtok函数的第一个参数为NULL  函数将在同一个字符串中被保存的位置开始 查找下一个标记 如果字符串中不存在更多的标记 则返回NULL指针 接下来我们上代码来解释 strtok函数会把和.变为\0  第一个参数为arr2不为NULL  函数保存第一个标记所在字符串中的位置 如果再次调用时 我们要传NULL  函数将在同一个字符中被保存的位置开始 查找下一标记 这里我们可能就会想 这函数这么复杂 有什么用 其实我们上述代码只是为了让大家理解该函数 接着我们上一个代码 让大家感受一下strtok函数 这里仅仅一个for循环就把我们之前写的那么多行代码给替换了 所以每个函数只要我们会用 它就是有用的 但该函数用的还是比较少 大家理解 掌握即可 strerror的使用 函数原型 strerror函数可以把参数部分错误码对应的错误信息的字符串地址返回来 在不同的系统和C语言标准库的实现中都规定了一些错误码  一般是放在errno.h这个头文件中说明的  C语言程序启动的时候就会使用一个全局的变量errno来记录程序的当前错误码  只不过程序启动的时候errno是0  表示没有错误  当我们在使用标准库中的函数的时候发生了某种错误  就会将对应的错误码  存放在errno中 每一个错误码都有对应的错误信息的  strerror函数就可以将错误对应的错误信息字符串的地址返回
http://www.hkea.cn/news/14582197/

相关文章:

  • 如何在腾讯云上网站建设如何开网店卖自己的东西
  • 济源做网站怎么收费网站建设比较合理的流程是
  • 微信分享接口网站开发做交通工程刬线的网站公司
  • 重庆最大的网站制作公司是计算机网页制作工具
  • 如何优化百度seo排名百度快照优化推广
  • 昆山建设公司网站东莞报告1例
  • 怎么网站建设到百度seo培训机构哪家好
  • 软件开发和网站开发哪个好wordpress注册需要花钱吗
  • 村级门户网站建设做新网站不换域名
  • 网站建设网站建设哪里有app开发多少钱?
  • 深圳网络营销网站软件公司 网站建设费分录
  • 松江品划网站建设开发2021年企业所得税怎么征收
  • 企业网站管理系统安装教程网站说明书的详细说明
  • 禄劝彝族苗族网站建设重庆公司名称大全
  • 网站网站程序架设0基础网站建设教程视频教程
  • 地方门户网站模板外发加工是否有专门的网站
  • 网站设计由哪个部门做企业运营管理案例分析
  • 福州光电网站建设网站音乐播放代码
  • 盐城大丰建设局网站wordpress 游戏主题下载失败
  • 网站设计导航栏高度公维金如何上传建设局网站
  • 现在建个企业网站要多少钱校园网网络设计报告
  • 南宫建设局网站首页成都自然排名优化
  • 哪个网站可以做拼图王晴儿 网站建设
  • 30分钟seo网站最新汽油价格调整最新消息
  • 网站如何提高排名天河网站建设价格
  • 沈阳网站建域名查ip
  • 建设网站公司哪里好大连学校网站建设
  • 杭州网站建设源码wordpress 无法邮件
  • 潍坊网站排名公司公司网站域名申请流程
  • 工信部 网站 邮箱微信官网下载安装