C语言程序库中提供了一些专门处理字符串的函数:
- gets(字符数组); 输入一行字符序列到字符数组
- puts(字符串); 将字符串输出到终端
- strcat(字符数组1,字符串2); 字符串连接
- strcpy(字符数组1,字符串2); 复制字符串
- strcmp(字符串1, 字符串2); 两个字符串比较
- strlen(字符串); 测字符串长度
- strlwr (字符串); 将字符串大写字母转换为小写
- strupr (字符串); 将字符串小写字母转换为大写
下面介绍最常用的几种。
1、字符串整行输入函数gets( )
2、字符串整体输出函数puts( )
3、字符串连接函数
4、字符串复制函数
5、字符串比较函数
注:这个正整数和负整数,根据不同C语言环境输出不同的值。有些是1和-1,有些是字符ASCII码值是差值。
6、测试字符串长度函数
注:strlen(s)和sizeof(s)的区别:前者是字符数组s的有效长度,不包括最后字符串结束符‘\0’,而后是指字符数组s的存储空间,包括定义字符数组时的所有存储空间长度,单位为字节,例如上面s的存储空间长度为10个字节。
7、字符串处理函数举例
字符串处理函数举例代码与结果如下:
#include "stdio.h"
#include "string.h"
int main ( )
{
char s1[20]= "1234567";
char s2[10]= "abcdefg";
puts(strcat(s1,s2));
printf("%d %d\n",strlen(s1), strcmp(s1,s2));
gets (s1);/*xyz*/
printf("%d %d\n",strlen(s1), strcmp(s1,s2));
puts(strcpy(s1,s2));
printf("%d %d\n",strlen(s1), strcmp(s1,s2));
gets (s1);/*1234*/
puts(strcat(s1,s2));
return 0;
}
注:需要包括头文件string.h,其中定义了这些字符串处理函数。