首页 > 其他 > 详细

字符串操作常用函数

时间:2021-06-04 14:30:01      阅读:39      评论:0      收藏:0      [点我收藏+]

几种常用的API

输出字符串

puts()printf("%s",p)‘

获取字符串

gets()?//内存是否合法scanf("%s",p)

计算长度

strlen

初始化

memset	//memset(?params初始化对象,?初始化成什么字符,?多大)

拷贝

strcpy	//strcpy(目标,复制对象)strncpy?//拷贝的最大长度??strncpy(目标,复制对象,长度)

拼接

strcat?//strcat(一个字符串,需要拼接的另一个字符串)

比较

strcmp	//strcmp(需比较的一个字符串,另一个字符串)??一样则为0

int?main(){
	char?*str?=?"Leoishandsome";
	char?c?=?‘i‘;
	
	char?*p?=?NULL;
	p?=?strchr(str,?c);
	if?(p?==?NULL)
		printf("没有找到");
	else
		puts(p);
	
	return?0;
	}

查找

strchr	//strchr(要被检索的字符串,?要搜索的字符)

字符串分割

strstr	//strstr(要被检索的字符串,?要搜索的字符)strtok	//做字符串分割,strtok(需要分割的字符串,需要分割的类型)

char?str[]?=?"hello,world,leo,heyheyhey";p?=?strtok(str,",");if?(p?!=?NULL){
	printf("获取到第一个串p=%s\n",p);
	}//获取第二个串需要加个NULLp?=?strtok(NULL,",");printf("获取到第二个串p=%s\n",p);/*获取后面几个串都需要不断添加p?=?strtok)=(NULL,",");*///改进int?i=1;while(){
	p?=?strtok(NULL,",");
	if?(p?!=?NULL)
	{
		printf("获取到第%d个字符串p?=?%s\n",i,p);
	}
	else{
		printf("没有字符串");
		break;
		}
	i++;}
		

转为小写的函数

strlwr	//strlwr(目标字符串)

char?str[]?=?"Hello?World";		//windows环境下要定义成数组的形态,否则崩溃,Linux下是可以的?purts(strlwr(str));

转为大写的函数

strupr

代码例子

#include?#include?#include?int?main(){
	char?*str?=?"Leo是个大帅哥哎";
	puts(str);?//puts()函数里面自带一个换行符‘\n‘,可自动换行
	printf("%s\n",str);?//printf()则需要自己写一个‘\n‘

	char?*pstr?//野指针,造成非法内存访问,会出现段错误,?cmd闪退
	pstr?=?(char?*)malloc(128)?/*?1.申请了空间?2.一旦用了malloc,一定要注意内存泄漏问题?3.malloc可能会失败,要对返回值进行判断*/
	if?(pstr?==?NULL){
		printf("申请内存失败");
		eixt(-1);
		}
	memset(pstr,?‘\0‘,?128)?//初始化,把每个元素都初始化为;\0‘
	//memset(?params初始化对象,?初始化成什么字符,?多大)

? ? ? ? ? ? ? ?

字符串操作常用函数

原文:https://blog.51cto.com/u_15249901/2856291

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!