C:strlen()、strcat()、strncat()

strlen()

#include <stdio.h>
#include <string.h>

int main(void)
{
	char str[] = "hello c";	
	printf("%d", strlen(str));
	return 0;
}

输出:
7

获取字符串长度,不包含字符串结尾空字符\0。

strcat()

#include <stdio.h>
#include <string.h>

#define SIZE 80

int main(void)
{
	char str1[SIZE] = "你到底吃了";	
	char str2[] = "多少海克斯科技产品";	
	
	strcat(str1, str2);
	
	puts(str1);
	
	return 0;
}


输出:
你到底吃了多少海克斯科技产品

很明显这个函数是用来拼接字符串的,该函数会将拼接结果赋值给参数一str1,至于参数二则不变。strcat()有个问题,其并不会检测str1是否能容纳下两个字符串的拼接结果,如果str1的长度只有10,而两个字符串加起来超过了这个长度则其会继续在str1所在存储空间之后追加超出的部分。很明显这会篡改一些信息。

strncat()

strncat()则可以控制追加的字符串长度。

#include <stdio.h>
#include <string.h>

#define SIZE 20

int main(void)
{
	char str1[SIZE] = "Nancy Pelosi";	
	char str2[] = " is American pig";	
	
	strncat(str1, str2, 10);
	
	puts(str1);
	
	return 0;
}

输出:
Nancy Pelosi is Americ

其前两个参数与strcat()一样,第三个参数就是需要在str1后追加的长度。该函数在追加了指定长度或遇到空字符\0结束。相比较与strcat()这家伙相对可控一点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值