C语言字符串函数
我会一直在的 人气:0注意:在使用字符串处理函数时,一定要使用#include <string.h>开头
1、gets函数
其形式为:gets(字符数组)——输入字符串的函数
作用是从终端输入一个字符串到字符数组,并且得到一个函数值。
2、puts函数
其形式为:puts(字符数组)——输出字符串的函数
作用是将一个字符串(以‘\0’结束的字符序列)输出到终端。
3、strcat函数
其形式为:strcat(字符数组1,字符数组2)——字符串连接的函数
作用是把两个字符数组中的字符串连接起来,把字符串2连接到字符串1的后面,结果放在字符数组1中。
4、strcpy函数(strncpy函数)
其形式为:strcpy(字符数组1,字符串2)——字符串复制的函数
作用是将字符串2复制到字符数组1中去。
strcpy(字符数组1,字符串2,n)——字符串选择复制的函数
n:表示将字符串2中的n个单个字符复制到字符数组1中,最少为0个,最多不能超过字符串2的长度。作用与strcpy函数差不都,都是字符串复制函数。
大家可以自己试一试,源码
#include <stdio.h> #include <string.h> int main(){ char str1[10] =""; //定义空数组str1 char str2[10] = "kgtj";//定义数组str2 strncat(str1, str2, 1); printf("%s\n", str1); return 0; }
5、strcmp函数(strncmp函数)
其形式为:strcmp(字符数组1,字符串2)——字符串比较的函数
因为字符串不能用等号来比较大小,所以就用strcmp函数来比较!!!!!!
比较规则:
(1)如果全部字符相同,则认为两个字符串相等;
(2)若出现不相同的字符,则以第一对不相同的字符比较结果为准。('a'<'z';'A'<'Z')。
比较的结果由函数值带回:
(1)如果字符串1与字符串2相同,则函数值为0。
(2)如果字符串1 > 字符串2,则函数值返回一个正数。
(3)如果字符串1 <字符串2,则函数值返回一个负数。
strncmp(字符数组1,字符串2,n)——字符串选择比较的函数
n:选择字符串的前n个字符进行比较,定义和strcmp一样。
(1)如果字符串1与选择的字符串2相同,则函数值为0。
(2)如果字符串1 > 选择的字符串2,则函数值返回一个正数。
(3)如果字符串1 <选择的字符串2,则函数值返回一个负数。
6、strlen函数
其形式为:strlen(字符数组)——测字符串长度的函数
作用是测试字符串长度的函数,函数的值为字符串实际的长度(不包括 '\0' 在内)。
strlen也可以直接测试字符串常量的长度
7、strlwr函数
其形式为:strlwr(字符串)——转换为小写的函数
该函数的作用是将字符串中的大写字母转换成小写字母。
8、strupr函数
其形式为:strupr(字符串)——转换为大写的函数
该函数的作用是将字符串中的小写字母转换成大写字母。
9、strstr函数
其形式为:strstr(字符串1,字符串2)——查找字符串的函数
函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
如果找到该数组,就会从找到的地方开始输出;
#include <string.h> #include <stdio.h> int main(){ char a[] = "abcdefg"; char b[] = "bc"; char* ret = strstr(a, b); if (ret == NULL){ printf("Can not find!\n"); } else{ printf("%s\n", ret); //输出 bcdefg } return 0; }
加载全部内容