C语言中处理字符串的函数

来源:互联网 发布:mac怎么打开显示包内容 编辑:程序博客网 时间:2024/05/16 05:06

参考书目:C语言程序设计(第四版)谭浩强


在C函数库中提供了一些用来专门处理字符串的函数,使用方便

1、puts和gets函数

其一般形式为

puts(字符数组) --输出字符串;字符串中可以包含转义字符,在输出是将字符串结束标志'\0'转换成'\n',即输出完字符串后换行

gets(字符数组) --输入字符串;从终端输入一个字符串到字符数组,并得到一个函数值-字符数组的起始地址(一般不大关心其函数值)

注意:用puts和gets函数只能输出或输入一个字符串


2、strcat函数

其一般形式为

strcat(字符数组1,字符数组2) --字符串连接;STRing CATenate(字符串连接)的缩写

把两个字符数组中的字符串连接起来,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值-字符数组1的地址

注意:(1)字符数组1必须足够大,以便容纳连接后的新字符串

    (2)连接前,两个字符串的后面都有'\0',连接时将字符串1后面的'\0'取消,只在新的字符串最后保留'\0'


3、strcpy和strncpy函数

其一般形式为

strcpy(字符数组1,字符串2) --字符串复制;STRing CoPY(字符串复制)的简写,将字符串2复制到字符数组1中去

strncpy(字符数组1,字符串2) --将字符串2中前面n个字符复制到字符数组1中去,但复制的字符个数n不应多于字符数组1中原有的字符(不包括'\0')

注意:(1)字符数组1必须定义得足够大,以便容纳被复制的字符串2--字符数组1的长度不应小于字符串2的长度

    (2)“字符数组1”必须写成数组名形式,“字符串2”可以是字符数组名,也可以是一个字符串常量

    (3)不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组;只能用strcpy函数将一个字符串复制到另一个字符数组中去---用赋值语句只能将一个字符赋给一个字符型数组元素


4、strcmp函数

其一般形式为

strcmp(字符串1,字符串2) --STRing CoMPare(字符串比较)的缩写;比较字符串1和字符串2

注意,字符串比较的规则是:将两个字符串自左至右逐个字符相比(按ASCII码值大小比较),知道出现不同的字符或遇到'\0为止--(1)如全部字符相同,则认为两个字符串相等;(2)若出现不同的字符,则以第1对不相同的字符的比较结果为准

比较的结果有函数值带回:相等--函数值为0;字符串1>字符串2--函数值为一个正整数;字符串1<字符串2--函数值为一个负整数

比较两个字符串,不能直接用>、<、=符号


5、strlen函数

其一般形式为

strlen(字符数组) --STRing LENgth的缩写;测试字符串长度,函数的值为字符串中的实际长度(不包括'\0'在内);也可以直接测试字符串常量的长度


6、strlwr函数

其一般形式为

strlwr(字符串) --STRing LoWeRcase(字符串小写)的缩写;将字符串中大写字母换成小写字母


7、strupr函数

其一般形式为

strupr(字符串) --STRing UPpeRcase(字符串大写)的缩写;将字符串中小写字母换成大写字母


最后,注意:在使用字符串处理函数时,应当在程序文件的开头用#include <string.h>把“string.h”文件包含到本文件中

原创粉丝点击