C语言超全面讲解字符串函数

2022-11-13 10:11:29 函数 字符串 讲解

注意:在使用字符串处理函数时,一定要使用#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;
}

到此这篇关于C语言超全面讲解字符串函数的文章就介绍到这了,更多相关C语言字符串函数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章