C语言字符串处理函数

字符串处理函数是在头文件<string.h>中。

测字符串长度函数

函数名称:size_t strlen(const char *s);
函数功能:返回字符串s的长度,不包括字符串结尾的’\0’

#include <stdio.h>
#include <string.h>  
int main(void){
	char str[20] = "Hello World";
	printf("str的长度为:%d\n",strlen(str));
	printf("此字符串的长度为:%d\n",strlen("HelloWorld"));
	return 0;
}

运行结果:

str的长度为:11
此字符串的长度为:10

字符串拷贝函数

函数名称:char *strcpy(char *dest,const char *src);
函数功能:拷贝src指向的字符串,拷贝到dest指向的内存中,’\0’也会拷贝。函数的返回值返回的是目的内存的地址。

#include <stdio.h>
#include <string.h>  
int main(void){
	char str[20];
	char *addr = strcpy(str,"Hello");
	printf("str的内容:%s,地址:%d",str,addr);
	return 0;
}

运行结果:

str的内容:Hello,地址:6487600

函数名称:char *strncpy(char *dest,const char *src,size_t n);
函数功能:将字符串src的前n个字节,拷贝到dest指向的地址中,’\0’不拷贝
说明:如果n大于src的字符个数,则在dest后面添加n-strlen(src)个’\0’

#include <stdio.h>
#include <string.h>  
int main(void){
	char i = 0;
	char str[20];
	char str2[20];
	char *addr = strncpy(str,"Hello\0Hello",10);
	strncpy(str2,"Hello",3);
	printf("str的内容:%s,地址:%d\n",str,addr);
	printf("str的c长度:%d\n",strlen(str));
	printf("str的内容:%s\n",str2);
	printf("str的ASCII为:\n");
	for(i = 0;i < sizeof(str);i++){
		printf("%d\t",str[i]);	
	}
	return 0;
}

运行结果:

str的内容:Hello,地址:6487584
str的c长度:5
str的内容:Hel
str的ASCII为:
72      101     108     108     111     0       0       0       0       0       64      0       0       0       0
0       15      0       0       0

字符串追加函数

函数名称:char *strcat(char *dest,const char *src);
函数功能:将src指向的字符串追加到dest指向的字符串的后面,追加的时候追加’\0’

#include <stdio.h>
#include <string.h>  
int main(void){
	char str[20] = "H";
	strcat(str,"el");
	printf("str的内容为:%s\n",str);
	strcat(str,"lo");
	printf("str的内容为:%s\n",str);
	return 0;
}

运行结果:

str的内容为:Hel
str的内容为:Hello

函数名称:char *strncat(char *dest,const char *src,size_t,n);
函数功能:追加src字符串前n个字符,追加到dest的后面,追加的时候追加’\0’

#include <stdio.h>
#include <string.h>  
int main(void){
	char str[20] = "H";
	strncat(str,"el",2);
	printf("str的内容为:%s\n",str);
	strncat(str,"loooo",2);
	printf("str的内容为:%s\n",str);
	return 0;
}

运行结果:

str的内容为:Hel
str的内容为:Hello
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值