C语言——字符函数和字符串函数

这篇具有很好参考价值的文章主要介绍了C语言——字符函数和字符串函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.assert断言(判断程序运行时是否符合条件)

<assert.h>头文件定义了宏assert(),⽤于在运⾏时确保程序符合指定条件,如果不符合,就报 错终⽌运⾏。这个宏常常被称为“断⾔”

assert() 宏接受⼀个表达式作为参数。如果该表达式为真(返回值⾮零), assert() 不会产⽣任何作⽤,程序继续运⾏。如果该表达式为假(返回值为零), assert() 就会报错,在标准错误流stderr 中写⼊⼀条错误信息,显⽰没有通过的表达式,以及包含这个表达式的⽂件名和⾏号。

assert() 的使⽤对程序员是⾮常友好的,使⽤ assert() 有⼏个好处:它不仅能⾃动标识⽂件和出问题的⾏号,还有⼀种⽆需更改代码就能开启或关闭 assert() 的机制如果已经确认程序没有问题,不需要再做断⾔,就在 #include <assert.h> 语句的前⾯,定义⼀个宏 NDEBUG 。然后,重新编译程序,编译器就会禁⽤⽂件中所有的 assert() 语句。如果程序⼜出现问题,可以移除这条 #define NDBUG 指令(或者把它注释掉),再次编译,这样就重新启⽤了 assert() 语句。

assert() 的缺点是,因为引⼊了额外的检查,增加了程序的运⾏时间。⼀般我们可以在 Debug 中使⽤,在 Release 版本中选择禁⽤ assert 就⾏,在 VS 这样的集成开发环境中,在 Release 版本中,直接就是优化掉了。这样在debug版本写有利于程序员排查问题,在 Release 版本不影响⽤⼾使⽤时程序的效率。

C语言——字符函数和字符串函数,c语言,开发语言

2.字符函数

头文件<ctype.h>

基本格式:

C语言——字符函数和字符串函数,c语言,开发语言

1.字符分类函数

符号条件返回非0,不符合条件返回0。

C语言——字符函数和字符串函数,c语言,开发语言

2.字符转换函数

C语言——字符函数和字符串函数,c语言,开发语言

示例:

C语言——字符函数和字符串函数,c语言,开发语言

3.字符串函数

3.1 strcpy函数

1.头文件 <string.h>

2.基本格式

C语言——字符函数和字符串函数,c语言,开发语言

将源头source中的字符串拷贝到目的地 destination 目标数组中,包括 null 字符(并在该点停止)

源字符串必须以 '\0' 结束。

目标数组必须足够大。

目标数组必须可修改。源字符串不可修改。

C语言——字符函数和字符串函数,c语言,开发语言

C语言——字符函数和字符串函数,c语言,开发语言

模拟实现:

C语言——字符函数和字符串函数,c语言,开发语言

3.2 strcat函数

头文件<string.h>

基本格式:

C语言——字符函数和字符串函数,c语言,开发语言

将源字符串中的字符连接到目标字符串中,目标字符串中的终止字符 null 将会被源字符串中的第一个字符所覆盖,源字符串中的终止字符 null 也要连接到目标字符串中。

源字符串中必须包含 '\0' 。

目标字符串必须包含 '\0',否则不知道连接从哪里开始。

目标空间必须足够大,可以容纳下源字符串中的内容。

目标空间必须可修改。

目的地和来源不可以重叠。否则将会造成字符串无限连接,直到栈溢出。

C语言——字符函数和字符串函数,c语言,开发语言

C语言——字符函数和字符串函数,c语言,开发语言C语言——字符函数和字符串函数,c语言,开发语言

C语言——字符函数和字符串函数,c语言,开发语言

模拟实现:

C语言——字符函数和字符串函数,c语言,开发语言

3.3 strcmp函数

比较两个字符串的大小

头文件<string.h>

C语言——字符函数和字符串函数,c语言,开发语言

从第一个字符开始按 ASCLL 码值将两个字符串的字符逐个进行比较,如果相同,则继续执行下一对,直到遇到字符不同或 \0 停止。

如果 str1 > str2 则返回值 >0

如果 str1 == str2 则返回值 ==0

如果 str1 < str2 则返回值 <0

C语言——字符函数和字符串函数,c语言,开发语言

模拟实现:

C语言——字符函数和字符串函数,c语言,开发语言         C语言——字符函数和字符串函数,c语言,开发语言

3.4 strncpy函数

1.头文件<string.h>

2.基本格式:

C语言——字符函数和字符串函数,c语言,开发语言

将源字符串的前num个字符拷贝到目标空间中

1.如果在拷贝num个字符之前就找到源字符串的末尾(null),即source的长度小于num,则剩余字符将用零填充,直至将num个字符拷贝到目标空间中。

2.如果source的长度大于num,则不会在目标空间末尾隐式附加 null 字符。因此,在这种情况下,destination 不应被视为以 null 结尾的字符串(这样读取时它会溢出)。

目标空间必须足够大,可以容纳下要拷贝的字符串

目标空间必须可修改,源字符串不可修改。


目的地和来不得重叠

C语言——字符函数和字符串函数,c语言,开发语言

模拟实现:

C语言——字符函数和字符串函数,c语言,开发语言

3.5 strncat函数

1.头文件 <string.h>

2.基本格式:

C语言——字符函数和字符串函数,c语言,开发语言

1.将源字符串的前 num 字符追加目标空间后,加上一个终止的 null 字符。

2.如果源 字符串的长度小于 num,则仅复制终止 null 字符之前的内容,之后再加上一个终止的 null 字符。

目标应该足够大,可以容纳下连接的num个字符

目标字符串必须可修改,源字符串不可修改

目标字符串必须包含终止字符 '\0',否则不知道连接从哪里开始

C语言——字符函数和字符串函数,c语言,开发语言

C语言——字符函数和字符串函数,c语言,开发语言

模拟实现:

C语言——字符函数和字符串函数,c语言,开发语言

3.6 strncmp函数

1.头文件<string.h>

2.基本格式:

C语言——字符函数和字符串函数,c语言,开发语言

此函数开始比较每个字符串的第一个字符。如果它们彼此相等,则继续执行以下对,直到字符不同,直到达到终止的 null 字符,或者直到两个字符串中的 num 个字符匹配,以先发生者为准。

如果 str1 > str2 则返回值 >0

如果 str1 == str2 则返回值 ==0

如果 str1 < str2 则返回值 <0

C语言——字符函数和字符串函数,c语言,开发语言

模拟实现:

C语言——字符函数和字符串函数,c语言,开发语言

3.7 strstr函数

1.头文件<string.h>

2.基本格式:

C语言——字符函数和字符串函数,c语言,开发语言

返回指向 str1 中首次出现的 str2 的指针,如果 str2 不是 str1 的一部分,则返回空指针。

字符串的⽐较匹配不包含 \0 字符,以 \0 作为结束标志。
C语言——字符函数和字符串函数,c语言,开发语言
模拟实现:
C语言——字符函数和字符串函数,c语言,开发语言    C语言——字符函数和字符串函数,c语言,开发语言

3.8 strtok函数

1.头文件:<string.h>

2.基本格式:

C语言——字符函数和字符串函数,c语言,开发语言

sep参数指向⼀个字符串,定义了⽤作分隔符的字符集合 ,通过sep字符串中的分隔符将str参数指向的 包含了0个或者多个由sep字符串中⼀个或者多个分隔符的 字符串进行分隔。
str参数指向了一个字符串,它包含了0个或者多个由sep字符串中⼀个或者多个分隔符分割的标记。
strtok函数找到str中的下⼀个标记,并将其用'\0'结尾 ,返回⼀个指向这个标记的指针。(注:
strtok函数会改变被操作的字符串,所以在使⽤strtok函数切分的字符串⼀般都是临时拷⻉的内容
并且可修改。)
strtok函数的第⼀个参数不为NULL ,函数将找到str中第⼀个标记,strtok函数将保存它在字符串 中的位置。
strtok函数的第⼀个参数为 NULL ,函数将在同⼀个字符串中被保存的位置开始,查找下⼀个标 记。
如果字符串中不存在更多的标记,则返回 NULL 指针。
C语言——字符函数和字符串函数,c语言,开发语言
C语言——字符函数和字符串函数,c语言,开发语言
C语言——字符函数和字符串函数,c语言,开发语言
模拟实现:
C语言——字符函数和字符串函数,c语言,开发语言

3.9 strerror函数

1.头文件<string.h>

2.基本格式:

C语言——字符函数和字符串函数,c语言,开发语言

strerror函数可以把参数部分错误码对应的错误信息的字符串地址返回来。
在不同的系统和C语⾔标准库的实现中都规定了⼀些错误码,⼀般是放在 errno.h 这个头⽂件中说明的,C语⾔程序启动的时候就会使⽤⼀个全⾯的变量errno来记录程序的当前错误码,只不过程序启动的时候errno是0,表⽰没有错误,当我们在使⽤标准库中的函数的时候发⽣了某种错误,就会讲对应的错误码,存放在errno中,⽽⼀个错误码的数字是整数很难理解是什么意思,所以每⼀个错误码都是有对应的错误信息的。strerror函数就可以将错误对应的错误信息字符串的地址返回。
打印0-10错误码对应的错误信息:
C语言——字符函数和字符串函数,c语言,开发语言

C语言——字符函数和字符串函数,c语言,开发语言

perror 有能力直接打印错误信息,打印的时候,先打印传递给perror的字符串,然后打印,再打印空格,最后打印错误信息。如果传递给perror的字符串为空字符串,直接打印错误信息。

头文件:<stdio.h>

基本格式:

C语言——字符函数和字符串函数,c语言,开发语言文章来源地址https://www.toymoban.com/news/detail-857953.html

到了这里,关于C语言——字符函数和字符串函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C语言】字符函数和字符串函数

      目录 1.求字符串长度strlen 2.长度不受限制的字符串函数 字符串拷贝strcpy 字符串追加strcat 字符串比较strcmp 3.长度受限制的字符串函数介绍strncpy strncat ​编辑strncmp 4.字符串查找strstr 5.字符串分割strtok 6.错误信息报告 strerror perror 7.字符分类函数 8.字符转换函数  9.内存操作函

    2024年02月12日
    浏览(42)
  • C语言 - 字符函数和字符串函数

    目的:学习主要常见字符串和字符串函数,及其部分函数的模拟过程。 C语⾔中有⼀系列的函数是专⻔做字符分类的,也就是⼀个字符是属于什么类型的字符的。 这些函数的使⽤都需要包含⼀个头⽂件是 ctype.h。 这些函数的使⽤⽅法⾮常类似,我们就讲解⼀个函数的事情,其

    2024年02月05日
    浏览(66)
  • C语言字符函数和字符串函数详解

           Hello, 大家好,我是一代,今天给大家带来有关字符函数和字符串函数的有关知识        所属专栏:C语言        创作不易,望得到各位佬们的互三呦 在C语言中有一些函数是专门为字符设计的,这些函数的使用都需要包含一个头文件ctype.h 如:(注:以下函数原型都

    2024年03月20日
    浏览(41)
  • 【C语言】字符函数和字符串函数(1)

    #国庆发生的那些事儿# 大家好,我是苏貝,本篇博客带大家了解字符函数和字符串函数,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 求字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 长度受限制的字符串函数介绍 strncpy strncat strncmp 字符串查

    2024年02月08日
    浏览(27)
  • C语言——字符函数和字符串函数(一)

    📝前言: 这篇文章对我最近学习的有关 字符串的函数 做一个总结和整理,主要讲解 字符函数和字符串函数(strlen,strcpy和strncpy,strcat和strncat)的使用方法,使用场景和一些注意事项 (附上实例) 🎬个人简介:努力学习ing 📋个人专栏:C语言入门基础 🎀CSDN主页 愚润求

    2024年02月04日
    浏览(53)
  • C语言——字符函数和字符串函数(二)

    📝前言: 上一篇文章C语言——字符函数和字符串函数(一)对 字符函数和字符串函数 strlen , strcpy 和 strncpy , strcat 和 strncat 进行了初步的讲解 这篇文章主要再讲解几个我们 常用到的其他字符串函数 (附上实例): 1,strcmp和strncmp 2,strstr 🎬个人简介:努力学习ing 📋个

    2024年02月04日
    浏览(34)
  • 进阶C语言-字符函数和字符串函数

    ✅注意事项: 字符串以 \\\'\\0\\\' 作为结束标志, strlen函数 返回的是在字符串中 \\\'\\0\\\' 前面出现的字符个数(不包括 \\\'\\0\\\' ) 参数指向的字符串必须以 \\\'\\0\\\' 结束 注意函数的返回值是 size_t ,是无符号的 ✅运行示例: 🔭1.1.1strlen函数的模拟实现 📖1.计数器法 assert函数 的 作用 是断言,

    2024年02月04日
    浏览(39)
  • 【c语言】字符函数与字符串函数(上)

    大家好呀,今天给大家分享一下字符函数和字符串函数,说起字符函数和字符串函数大家会想到哪些呢??我想到的只有求字符串长度的strlen,拷贝字符串的strcpy,字符串比较相同的strcmp,今天,我要分享给大家的是我们一些其他的字符函数和字符串函数,跟着小张一起去看看吧

    2024年02月13日
    浏览(62)
  • C语言——详解字符函数和字符串函数(二)

    Hi,铁子们好呀!之前博主给大家简单地介绍了部分 字符和字符串函数 ,那么这次,博主将会把这些字符串函数给大家依次讲完! 今天讲的具体内容如下: 6.1.1 strcmp 函数介绍 它的函数原型如下: 具体的函数介绍如下图所示: 从图中我们得知: - 如果第一个字符串 PTR1 大于

    2024年04月10日
    浏览(39)
  • C语言——详解字符函数和字符串函数(一)

    Hi,铁子们好呀!今天博主来给大家更一篇C语言的字符函数和字符串函数~ 具体讲的内容如下: 前言: 在编程的过程中,我们经常要处理字符和字符串,C语言标准库中提供了一系列库函数,接下来我们就学习一下这些函数。 众所周知,C语言中提供了一系列的字符函数,这些

    2024年03月17日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包