我们都知道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”复制到目标空间
目标空间必须是可变的
如果参数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个字符
目标必须有足够的空间来容纳要复制的字符串
如果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
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
功能: 根据分隔符将字符串分成多个片段
返回值: 在下一个分割之后返回字符串指针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()
字符分类功能:
最后,如果您想学习C / C ++,则可以私下编辑“材料”以获得材料,开发工具和演讲许可!
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-225036-1.html