c 语言中的常用字符,C语言中的常用字符函数和字符串函数

f8afb3e9da20b20614cfee36919f0d27.png

我们都知道C语言中有一个string.h头文件,但C语言中没有任何字符串类型.

字符串通常放置在常量字符串或字符数组中. 字符串常量适用于不会对其进行修改的字符串函数.

在头文件string.h中声明的函数原型都是对char数组的操作.

直到C ++才出现类字符串

本文只是整理了用于处理C语言字符和字符串的库函数.

紧张

函数: 计算字符串的长度,不包括'\\ 0'返回值: 返回字符串中的字符数说明: strlen()函数计算字符串的实际长度并遇到第一个'\\ 0'结束;参数所指向的字符串必须以'\\ 0'结尾. 该函数的返回值必须是size_t,该值是无符号的. 如果仅在没有给它初始值的情况下定义它,则结果是不确定的,并且它将从第一个地址开始向下看,直到以'\\ 0'结束为止

sizeof返回变量声明所占用的内存量,而不是实际长度,另外sizeof不是函数,只是一个运算符,strlen()是函数

strcpy

功能: 将参数src字符串复制到参数dest指向的地址

返回值: 返回参数dest的字符串起始地址

源字符串必须以“ \\ 0”结尾

将源字符串的“ \\ 0”复制到目标空间

目标空间必须是可变的

f6c4bdb5084edd83a8f1ad02ebae7ca4.png

如果参数dest指向的内存空间不够大,则可能会导致缓冲区溢出错误. 编写程序时应特别注意,或改用strncpy()

strncpy

功能: 将src字符串的前num个字符复制到dest

返回值: 目标字符串的起始地址

如果src字符串的长度小于num,则在复制字符串之后,向目标添加0直到num

strncpy不会在目标后面附加“ \\ 0”

src和dest指向的内存区域不能重叠,dest必须有足够的空间来放置n个字符

strcat

功能: 字符串缝合

返回值: 返回目标字符串的起始地址

-源字符串必须以“ \\ 0”结尾

-目标空间必须是可编辑的

-strcat()将参数src字符串复制到参数dest指向的字符串的末尾-dest的最后一个结束字符'\\ 0'将被覆盖并添加到连接的字符串A的末尾'\\ 0'-dest和src内存空间不能重叠,并且dest必须具有足够的空间来容纳要复制的字符串strncat函数: 在字符串末尾添加n个字符返回值: 返回dest字符字符串的起始地址

strncat将从字符串src的开始到目标字符串的末尾复制n个字符

8-810-jpg_6-1080-0-0-1080.jpg

目标必须有足够的空间来容纳要复制的字符串

如果n大于字符串src的长度,则仅将所有src附加到dest的末尾

strncat将覆盖dest字符串的最后一个'\\ 0'. 添加字符后,添加“ \\ 0”

strcmp

功能: 字符串比较

返回值: 如果参数s1和s2是相同的字符串,则返回0,如果s1大于s2,则返回大于0的值,如果s1小于s2,则返回小于0的值

确定两个字符串的大小1)ASII代码2)长度

区分大小写的比较,如果要比较不区分大小写的字符串,可以使用stricmp函数

strncmp

功能: 指定长度比较

返回值: 与strcmp相同

strstr

功能: 检索字符串中子字符串的首次出现

返回值: 返回字符串str中子字符串substr第一次出现的地址;如果未检索到子字符串,则返回NULL

edeb41456bd4b56923f4baee684f5aa8.png

strchr

功能: 查找字符串中第一次出现c的位置

返回值: 返回第一次出现c的指针;如果s中不存在c,则返回NULL.

strrchr

功能: 查找c在字符串中最后一次出现的位置

返回值: 返回最后一次出现c的指针;如果s中不存在c,则返回NULL

功能: 用于计算在str1字符串开头与str2字符串匹配的字符数

返回值: 返回字符串str1开头的字符串str2中的字符数.

如果str中包含的字符属于str2,则返回str1的长度

如果str的第一个字符不属于str2,则返回0

strcspn

功能: 用于计算str1字符串开头与str2字符串不匹配的字符数

返回值: 返回字符串str1开头未出现在字符串str2中的字符数.

strtok

4f89a312978c7ff99d3897e848700e7b.png

功能: 根据分隔符将字符串分成多个片段

返回值: 在下一个分割之后返回字符串指针c语言字符串个数,如果没有更多分割,则返回NULL

-sep参数是一个字符串,用于定义用作分隔符的字符集

-第一个参数指定一个字符串,其中包含一个或多个标签c语言字符串个数,该标签由sqp字符串中的一个或多个字符分隔

-字符串的第一个地址在第一次调用期间传入,并且在调用之后不使用该地址. 将会有一个静态函数将指向的地址保存在内部

-分隔符不用作输出,只有分隔符-当strtok在参数s的字符串中找到参数sep的分割字符时,它将把该字符更改为'\\ 0'字符第一个在第二个调用中,必须给strtok参数str字符串,随后的调用将把参数s设置为NULL-strtok将修改原始字符串,因此必须将其放在堆栈函数中: 错误消息的指针字符串必须包含标题文件errno.hstrpbrk

功能: 在字符串s1中找到与字符串s2中的任何字符匹配的第一个字符的位置,不包括空字符NULL

atoi

功能: 将字符串转换为整数

返回值: 返回转换后的整数. 如果str无法转换为int或str为空字符串,则将返回0

ANSI C规范定义了stof(),atoi(),atol(),strtod(),strtol(),strtoul(),总共6个可以将字符串转换为数字的函数,可以比较和学习这些函数

此外,C99 / C ++ 11规范中添加了五个新功能,即atol(),strtof(),strtold(),strtoll(),strtoull()

字符分类功能:

v2-9ba7e51aa9c95e43ecc3f5d3cf8cfbdf_r.jpg

svg

最后,如果您想学习C / C ++,则可以私下编辑“材料”以获得材料,开发工具和演讲许可!

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-225036-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值