#include<string.h>中基础的函数你知道吗?赶紧来看看吧。

导读:本篇文章讲解 #include<string.h>中基础的函数你知道吗?赶紧来看看吧。,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1、函数-strlen():

描述:strlen()函数是用来计算字符串长度的,直到空字符结束,不包含空字符。简单来说就是计算你输入的字母、空格、符号等。

格式:strlen(str)

参数:str是被计数的数组。

话不多说,代码一看就懂了:

#include<stdio.h>

#include<string.h>  
//函数strlen是在string中的,所以此处要有头文件,编译器才能知道它的作用

int main()
{
	char str[]={"I study hard"};  //定义任意字符串放到数组str中

	int length;    
    //计数后是整数类型,定义length来储存


	length=strlen(str);
    //str是需要计数的字符串,直接放到strlen中进行计数,计数结果赋值给length


	printf("字符长度为:%d",length);

	return 0;
}

2、函数-strcpy和strncpy:

描述:strcpy函数是用来拷贝字符串的。strncpy也是拷贝字符串的,只不过strncpy可以限制拷贝字符串的长度。

格式:strcpy(aim,str)

参数:aim是指向复制后的目标数组,str是被复制的数组。

话不多说,上代码:

#include<stdio.h>

#include<string.h>

int main()
{
	char str[]={"I study hard"};

	char length[100];      //定义一个新的字符数组,用来存储复制后的字符串

	strcpy( length , str );    //直接将str中的字符串复制到length中


	printf("复制后字符为:%s",length);  // %s是字符串型的格式符

	return 0;
} 

格式:strncpy(aim,str,n)

参数:aim,str同上, n是要打印的字符串长度。

代码为:

#include<stdio.h>

#include<string.h>

int main()
{
	char str[]={"I study hard"};

	char length[100];

	strcpy(length,str,7);     // n=7,结果将只会复制str数组的前7个,包括空格
    length[7]='\0';       //手动加上终止符

	printf("复制后字符为:%s",length);
	return 0;
} 

注意:1、当aim的长度大于str时,多余的将会用空字节填充。

           2、strncpy需要手动加上终止符,不然有时会出问题。

3、函数-strcat和strncat:

描述:将字符串连接起来。

格式:strcat(aim,str)

参数:将str中的字符串连接在aim字符串的后面。

代码来了:

#include<stdio.h>

#include<string.h>

int main()
{
	char aim[]={"I study "};
	char str[]={"hard"}; 

	strcat(aim,str);   //将str中的字符串连接在aim的后面

	printf("复制后字符为:%s",aim);
	return 0;
} 

格式:strncat(aim,str,n)

参数:aim,str,同上,而n是限制str中的字符拿多少连接在aim后面,不会改变aim的长度。

代码来了:

#include<stdio.h>

#include<string.h>

int main()
{
	char aim[]={"I study "};
	char str[]={"hard"}; 

	strncat(aim,str,2);    //n=2是将str中前两个字符连接在aim字符串的后面
	
	printf("复制后字符为:%s",aim);
	return 0;
} 

4、函数-strcmp和strncmp:

描述:比较字符串,用来比较两个字符串的。

格式:strcmp(aim,str)

该函数返回值如下:

  • 如果返回值小于 0,则表示 aim 小于 str。
  • 如果返回值大于 0,则表示 aim 大于 str。
  • 如果返回值等于 0,则表示 aim 等于 str。

代码来了:

#include<stdio.h>

#include<string.h>

int main()
{
	char aim[]={"I study hard"};
	char str[]={"I study hard"}; 
	int retu;

	retu=strcmp(aim,str);   //比较两者大小
	
    //进行判断
	if(retu<0){
		printf("aim小于str");
	}
	else if(retu==0){
		printf("aim等于str");
	}
	else{
		printf("aim大于str");
	}
	return 0;
} 

格式:strncmp(aim,str,n)

参数:n是比较两个字符串的前几个字符,起限制的作用。就拿每一个字符串的前n个字符进行比较。

该函数返回值如下:

  • 如果返回值小于 0,则表示 aim 小于 str。
  • 如果返回值大于 0,则表示 aim 大于 str。
  • 如果返回值等于 0,则表示 aim 等于 str。

代码来了:

#include<stdio.h>

#include<string.h>

int main()
{
	char aim[]={"I study hard"};
	char str[]={"I study hard"}; 
	int retu;

	retu=strncmp(aim,str,7);   //分别拿aim和str前7个字符进行比较


	if(retu<0){
		printf("aim小于str");
	}
	else if(retu==0){
		printf("aim等于str");
	}
	else{
		printf("aim大于str");
	}
	return 0;
} 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/119748.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!