首页 理论教育 C语言程序设计教程:字符串处理函数

C语言程序设计教程:字符串处理函数

时间:2023-10-23 理论教育 版权反馈
【摘要】:C语言提供了专门处理字符串的库函数,方便用户使用。例如:输出:hello word注意:输出时将字符串结束标志“\0”转换成“\n”,输完字符串后自动换行。连接前如果字符数组1后面有“\0”,连接时要删除。图7-11复制后cl的存储情况复制时连同“\0”一起复制到数组cl中,用函数puts()输出c1时,遇到“\0”就结束输出。图7-12例7-6的运行结果6.测字符串长度的函数strlen()strlen测试字符串的实际长度,不含结束标志“\0”。

C语言程序设计教程:字符串处理函数

C语言提供了专门处理字符串的库函数,方便用户使用。程序中用到这些函数时,需要在开头位置包含命令行“#include<string.h>”。

1.字符串输出函数puts()

【格式】puts(字符数组名)

【功能】将数组中的字符串输出到屏幕上。

例如:

输出:hello word

注意:输出时将字符串结束标志“\0”转换成“\n”,输完字符串后自动换行。

puts()函数专门用于字符串的输出,简单易记,若需要指定输出格式,还得用到printf()函数。

2.字符串输入函数gets()

【格式】gets(字符数组名)

【功能】从键盘上输入字符串到字符数组。

例如:

gets(c);

输入:student

将字符串“student”存放到字符数组c中(加上字符串结束标志,共存放8个字符到数组中),gets()函数以回车作为输入结束的标志,这是其与scanf()函数所不同的。

3.字符串连接函数strcat()

【格式】strcat(字符数组1,字符数组2)

【功能】把字符串2连接到字符串1的后面,并将结果存放到字符数组1中。

例如:

连接后数组c1的内容如图7-10所示。

图7-10 连接后数组cl的存储情况

注意:要保证字符数组1有足够的长度,以容纳连接后的新字符串。连接前如果字符数组1后面有“\0”,连接时要删除。

4.字符串复制函数strcpy()

【格式】strcpy(字符数组1,字符数组2)

【功能】将字符数组2中的字符串复制到字符数组1中。

例如:

复制后数组cl的内容如图7-11所示。

(www.xing528.com)

图7-11 复制后cl的存储情况

复制时连同“\0”一起复制到数组cl中,用函数puts()输出c1时,遇到“\0”就结束输出。数组1的长度不能小于数组2的长度。

5.字符串比较函数strcmp()

【格式】strcmp(字符数组1,字符数组2)

【功能】比较两个字符数组中的字符串,比较的结果由函数值返回。

(1)字符串1=字符串2,则函数值为0。

(2)字符串1>字符串2,则函数值为一个正整数。

(3)字符串1<字符串2,则函数值为一个负整数。

按照ASCII码将两个字符串中的字符逐个比较,直到遇到不同的字符或“\0”为止。

【例7-6】编写程序,对两个字符串进行比较。

【分析】对两个字符串比较,不能靠关系运算符,必须要用比较函数。

例7-6 运行视频

程序运行结果如图7-12所示。

图7-12 例7-6的运行结果

6.测字符串长度的函数strlen()

【格式】strlen(字符数组)

【功能】测试字符串的实际长度,不含结束标志“\0”。

例如:

【例7-7】编写程序,统计一行字符中有多少个单词,单词之间用空格分隔。

【分析】单词之间用空格分隔,可以根据空格的出现来判断新单词的开始,若出现新单词则单词个数加1,注意一行开头的空格不计算在内。

例7-7 运行视频

程序运行结果如图7-13所示。

图7-13 例7-7的运行结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈