c语言中常用处理字符串函数总结

本文介绍了C语言中的strcat函数,用于将字符串s2拼接到s1后面,并解释了其返回值和注意事项。同时,探讨了strstr函数用于查找子串在字符串中的位置,通过实例演示了如何使用这两个字符串处理函数。

1、char *strcat(char *s1, const char *s2)

拼接字符串作用,把s2拼接到s1字符串后面,返回值是指向s1的指针

int main()
{
	char s1[] = "aba";
	char s2[] = "cdf";
	printf("拼接前s1长度:%d   s2长度: %d\n", strlen(s1), strlen(s2));
	char *s3=strcat(s1, s2);
	//s3等同于s1
	printf("打印s1: %s\n", s1);
	printf("打印s3: %s\n", s3);
	printf("拼接后s1长度:%d   s2长度: %d   s3长度:%d\n", strlen(s1), strlen(s2),strlen(s3));
}

注意:s2拼接到s1后面,s1的长度会由最初的3变为6(没有算结束符),在这里程序并没有报错这是因为C语言对于数组下标越界并不会作检测处理,所以在使用strcat()函数的时候尽量给予足够大的内存空间,除了要计算拼接后的字符数另外需再加1才够空间存放末尾的空字符。所以在开始定义s1长度的时候最好考虑好拼接后的长度,这里最初的长度设为:s1的长度+s2的长度+结束符=3+3+1=7,尽管程序在缓冲区溢出后可能不会报错,但为了程序的安全性还是严谨一点好。

2、char *strstr(const char *s1, const char *s2)

查找s2第一次出现在s1的位置,返回s2第一次在s1出现的首地址,如果不存在返回NULL

int main()
{
	//s2在s1中能找到
	char s1[] = "acdrtcdrj";
	char s2[] = "cdr";
	char *s3 = strstr(s1, s2);
	printf("%s\n", s3);

	//str2在str1中不能找到
	char str1[] = "acdrtcdrj";
	char str2[] = "cdrx";
	char *str3 = strstr(str1, str2);
	printf("%s\n", str3);
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

small_planet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值