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的运行结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。