目录
1.字符串输入函数—gets();
2.字符串输出函数—puts();
3.字符串长度函数—strlen();
4.字符出拼接函数—strcat();
5.字符串选择拼接函数—strncat();
6.字符串比较函数—strcmp();
7.字符串选择比较—strncmp();
8.字符串复制函数—strcpy();
9.字符串选择复制函数—strcnpy();
10.字符串选择比较函数—strstr();
介绍:C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在常量字符串中或者字符数组中,字符串常量适用于那些对它不做修改的字符串函数.字符串是c语言中最有用,最重要的数据类型之一。虽然我们一直在使用字符串,但是要学的东西还是很多。c库提供大量的字符串函数,下面就让我们一一学起来吧!
1.字符串输入函数—gets()函数—gets(字符数组)
在读取字符串函数时,scanf()和转换说明%s只能读取一个单词,可是在程序中经常要读取一行输入,而不仅仅是一个单词,这时候就出现了gets()函数。下面我们来看看它们的区别吧。
怎么样,是不是一眼就看出了差别,scanf()不能读取空格,而字符串函数可以读取,这就是它们最重要的差别哦,一定要记住哦.
怎么样这个是不是很简单呢?我们在使用的时候只要把字符串的地址作为参数传递给它即可。
接下来的函数有点复杂了哦,要认真理解了哦。
注:以下字符串函数都要使用include
3.字符串长度函数—strlen()—strlen(数组名)
strlen求字符串长度的算法分析:strlen接收到字符串起始位置的地址时,比较该地址处的内容是否为’\0’,若不为’\0’, 字符串的长度 + 1。它会一直读到字符串的'\0'才会结束,不要忘记了空格也是一个字符哦
我们也可以模拟实现这一个字符串函数,但是要用到指针和函数的基础知识,建议有一定基础的同学试一下哦!
4.字符串拼接函数—strcat()函数—strcat(字符数组1,字符数组2)
这个函数的作用是把第二个备份附加在第一个字符串末尾,并把拼接的字符串作为新的字符串。
5。字符串选择拼接函数—strncat()—strncat(数组名1,数组名2,num)
这个函数的作用是把字符串数组arr2中前num个拼接到字符串数组arr1中
6.字符串比较函数—strcmp()—strcmp(数组名1,数组名2)
字符串的比较大小是不能直接比较的,字符串的比较是根据英文符的ASCLL值进行比较的,'a'或'A'的值是最小的,'z'或'Z'的值是最大的,字母小写的值是等于它的对应的大写字母加32,然后根据这些原则使用strcmp()这个库函数进行比较大小的,它是从第一个字符串第一个字符与第二个字符串第一个进行比较,如果相等,再向后进行比较。它的返回值也有三种。
我相信你也懂得了比较的原理。
7.字符串选择比较函数—strncmp()—strncap(数组名1,数组名2,num)
顾名思义,这个函数就是把字符串数组1的第num个字符与第二个字符串数组的第num个字符进行比较,原则和strcmp()一样哦。
8.字符串复制函数—strcpy()—strcpy(数组名1,数组名2)
它的作用是将字符串数组arr2复制到字符串数组arr1中去
9.字符串选择复制函数—strncat()—strncat(数组名1,数组名2,num)
它的作用予strcat差不多,只是它可以把字符串数组arr2中的前num个字符复制到字符串数组arr1中
注:这里只是把arr2中前5个字符复制到arr1中,arr1中后面的字符还是会显示哦
10.字符串查找函数—strstr—strstr(数组名1,数组名2)
函数用于判断字符串arr1是否是arr2的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
如果找到该数组,就会从找到的地方开始输出;
(1)这是找到的情况
(2)没有找到的情况