C语言基础(6)——字符串处理函数


为了使用方便,在C语言函数库里提供了一些用来专门处理字符串的函数。不过使用这些库函数时,必须在程序开头包含string.h头文件,即:

#include<string.h>;

puts函数和gets函数

puts函数

puts函数一般形式为:
puts(字符数组)
其作用是将一个字符串(以’\0’结束的字符序列)输出到终端。例如已定义一个字符数组名str,且数组被初始化为"million"。执行:

puts(str);

则其结果在终端上输出“million”。
当然了,用puts函数输出的字符串中可以包含转义字符。例如:

char str[]={"million\nhou"};
puts(str);

输出

million
hou

gets函数

gets函数一般形式为:
gets(字符数组)
它的作用是从终端输入一个字符串到字符数组,并且得到一个函数值。该函数值是字符数组的起始地址。

gets(str)

如果从键盘输入:

million↙

将输入的字符串“million”送给字符数组str(送给字符数组的共有8个字符),返回的函数值是字符数组str的第一个元素地址。


gets和puts函数都只能输入或输出一个字符串。


strcat函数

strcat函数是字符串连接函数。
一般形式为:
strcat(字符数组1,字符数组2)
它的作用就是两个字符数组中的字符串,把字符串2接到字符串1的后面,然后把得到的结果放到字符数组1中(所以字符数组1的长度要足够大,以至于能放下连接字符数组2的所有字符),函数调用后得到一个函数值——字符数组1的地址。例如:

char str1[11]="million";	
//字符数组1的长度刚好是连接字符数组2后所有字符的长度
char str1[4]="hou";
printf("%s",strcat(str1,str2));
//经过字符串连接后,原字符串1后面的'\0'取消,然后在新的字符串1的末尾加一个'\0'

输出:

millionhou	

设字符串str1字符数为len1(不包括’\0’),字符串2字符数为len2(不包括’\0’),则定义字符数组str1的最小长度应该为:
len1+len2+1


strcpy函数

strcpy函数是字符串复制函数。
一般形式为:
strcpy(字符数组1,字符数组2)
它的作用是将字符串2复制到字符数组1中去,函数调用后得到一个函数值——字符数组1的地址。例如:

char str1[8]="million";
char str1[4]="hou";
printf("%s",strcpy(str1,str2));

输出:

hou

(1)字符数组1的长度不应该小于字符串2的长度。
(2)字符串2可以是一个字符串常量,例如:

char str1[8]="million";
printf("%s",strcpy(str1,hou));

其执行效果也是一样的。
(3)做字符串复制操作时,字符串str2和其后面的’\0’一同复制到字符数组1中。新字符数组1中’\0’后面的字符保持原有字符不变。即新字符数组str1第一个’\0’后的’i’ ,‘o’,‘n’和’\0’是保留了原字符数组str1后的4个字符不变。


strcmp函数

strcmp函数是字符串比较函数。
strcmp(字符数组1,字符数组2)
它的作用是比较字符串1和字符串2.比较字符串1和字符串2的大小,分以下3种情况:
(1)字符串1>字符串2,函数返回值为正整数。
(2)字符串1=字符串2,函数返回值等于0。
(3)字符串1<字符串2,函数返回值为负整数。
字符串比较方法为:对两个字符串从左至右按字符的ASCII码值的大小逐个字符相比较,直到出现不同的字符或遇到’\0’为止。比较时,当出现第一个不相等的字符时,由两个字符的大小决定所在字符串的大小。


不能直接用关系运算符“>,>=,<,<=”来实现对两个字符串的比较。例如:

char str1[6],str2[6];
if(str1>str2);	//这是错误的
……

程序应改为:

char str1[6],str2[6];
if(strcmp(str1,str2)>0);
……	

strlen函数

strlen函数是测字符串长度函数。
一般形式为:
strlen(字符数组)
它的作用是测试字符串的长度(不包括串结束标志’\0’),函数返回值为字符串的长度。例如:

char str[10]="million";
printf("%d",strlen(str));

输出的结果是7,而不是8。

strlwr函数

一般形式为:
strlwr(字符串)
它的作用是将字符串中的大写字母转换为小写字母。

strupr函数

一般形式为:
strupr(字符串)
它的作用是将字符串中的小写字母转换为大写字母。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小Floyed

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值