字符串函数
C库提供了多个处理字符串的函数,ANSI C把这些函数的原型放在string.h头文件中。下面来介绍一下常用的几个函数。
- strlen()函数
strlen()函数用于统计字符串的长度,接受一个字符串作为参数,该参数为字符串首个字符的地址。
2.strcat()函数
strcat()用于拼接字符串,函数接受两个字符串作为参数。该函数把第二个字符串的备份附加在第一个字符串末尾,并把拼接后形成的新字符串作为第1个字符串,第2个字符串不变。strcat()函数的类型是char*。strcat()函数返回第1个参数,即拼接第2个字符串后的第1个字符串的地址。
strcat()函数无法检查第1个数组是否能容纳第2个字符串。如果分配给第1个数组的空间不够大,多出来的字符溢出到相邻存储单元是就会出现问题。
3.strncat()函数
与strcat()函数的是,该函数的第3个参数指定了最大添加字符数。
4.strcmp()函数
该函数接受两个参数。该函数比较的是字符串的内容,不是字符串的地址。比较的方式是按机器排序序列进行比较,即根据字符的数值进行比较(通常都使用ASCLL值)。
strcmp()的返回值,如果参数第1个的字符串=参数第2个参数的字符串,返回值为0;>的话返回值为正整数,<的话返回值为负整数。
5.strncmp()函数
ctrncmp()函数与strcmp()函数相似,不同的是,strncmp()接受三个参数,第3个参数为指定要比较字符的数量。
6.strcpy()函数
strcpy()函数接受两个字符串作为参数,即将第2个参数的字符串拷贝到第1个参数的字符串中。
strcpy()函数的问题与strcmp()函数相似,他们都不能检查目标空间是否能容纳源字符串的副本。
7.strncpy()函数
strncpy()函数接受3个参数,第3个参数指明可拷贝的最大字符数。
8.sprintf()函数
sprintf()函数声明在stdio.h中,而不是在string.h中。该函数和printf()类似,但它是把数据写入字符串,而不是打印在显示器上。因此,该函数可以把多个元素组合成一个字符串。sprintf()的第1个参数是目标字符串的地址。其余参数和printf()相同,即格式字符串和待写入项的列表。例如:
sprintf(a,"word# %s, *%-12s, %d, %f\n",b,c,d,e);
9.strlwr()函数
函数的作用是将字符串中大写字母换成小写字母。
10.strupr()函数
函数的作用是将字符串中小写字母换成大写字母。