其他分享
首页 > 其他分享> > 字符串操作常用函数

字符串操作常用函数

作者:互联网

几种常用的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初始化对象, 初始化成什么字符, 多大)

               

标签:常用,函数,strtok,char,str,printf,字符串,NULL
来源: https://blog.51cto.com/u_15249901/2856291