字符串笔记

可以说这些字符串处理函数在写代码中使用特别频繁,是开发必备的,这些一点都不懂的话绝对吃亏。

字符串追加

头文件:#include<string.h>
一、strcat
char* strcat(char *a,char *b)
把串b直接连接到a后边

     char s1[]="123";
	 char s2[]="AAABBB";	 
	 strcat(s1,s2);
	 printf("%s \n",s1);

结果:
123AAABBB

二、strncat
char *strncat(char *a,char *b ,int n)
把串b前边的n个字符直接连接到a后边

     char s1[]="123"; 
	 char s2[]="AAABBB";	 
	 strncat(s1,s2,4);
	 printf("%s \n",s1);

结果:
123AAAB

字符串比较

根据以下代码去查看结构细品

#include <stdio.h>
#include <string.h> 
int main(void)
{
	 char s1[]="aac15abb"; 
	 char s2[]="ABC133bb";
	 
	  
	 printf("%d \n",strnicmp (s1,s2,2));//大小写不敏感且指定长度 
	 //strcmp	常规 
	 //stricnp	 大小写不敏感 
	 //strncmp	能够指定长度 


	getchar();
	getchar();
	return 0;
}

字符串查找

  1. 函数名: strchr
    功 能: 在一个串中查找给定字符的第一个匹配之处\
    原 型: char *strchr(char *str, char c);
    程序例: printf("%s \n", strchr(“abcdef123”,‘c’)); 结果显示为:cdef123

  2. 函数名: strstr //识记
    功 能: 在串中查找指定字符串的第一次出现
    原 型: char *strstr(char *str1, char *str2);
    程序例: printf("%s \n", strchr(“abcdef123”,“c”)); 结果显示为:cdef123
    程序例: printf("%s \n", strchr(“abcdef123”,“12”)); 结果显示为:123

  3. 函数名: strspn
    查找非str2字符集的字符出现的第一个位置
    功 能: 返回字符串str1中第一个不在指定字符集str2中字符位置下标(int)(下标是从0开始数的)
    原 型: int strspn(char *str1, char *str2);
    程序例: printf("%d \n", strspn(“111cdef123”,“12”)); 结果为3
    程序例: printf("%d \n", strspn(“cdccc1def123”,“cd”));结果为5

  4. 函数名: strcspn
    查找非字符集里的字符在str1中出现的第一个位置
    功 能: 返回一个str2字符集中第一次在str1中出现的字符下标位置(int)
    原 型: int strcspn(char *str1, char *str2);
    程序例: printf("%d \n", strcspn(“111cdef123”,“cd”)); 结果为3
    程序例: printf("%d \n", strcspn(“1cdccc1def123”,“cd”));结果为1

  5. 函数名: strrchr
    功 能: 在串中查找指定字符的最后一个出现,返回一个位置处的字串
    原 型: char *strrchr(char *str, char c);
    程序例: printf("%s \n", strrchr(“1cdccc1def123”,‘d’)); 结果为 def123
    程序例: printf("%s \n", strrchr(“1cdccc1def123d”,‘1’)); 结果为123d

  6. 函数名: strpbrk //查找字符集
    功 能: 在串中查找给定字符集中的字符 ,返回一个位置处的字串
    原 型: char *strpbrk(char *str1, char *str2);
    程序例: printf("%s \n", strpbrk(“1cdccc1def123d”,“fe”)); //结果为ef123d

  7. 函数名: strtok 找单词
    功 能: 查找由在第二个串中指定的分界符分隔开的单词,,返回一个位置处的字串,处理的结果放在str1里边
    原 型: char *strtok(char *str1, const char *str2); //str *,±’"?

程序例1:
char s1[]=“d+1cdccc1def1,23,dad";
printf("%s \n", strtok(s1,"
”));
printf("%s \n",s1);
结果为:
d+1cdccc1
d+1cdccc1

程序例2:
char s1[]=“d+1cdccc1*def1,23d”;
printf("%s \n", strtok(s1,"+"));
printf("%s \n",s1);
结果为:
d
d

字符串转换

头文件:#include<ctype.h>

函数名功能例子
islower测试是否小写字母, 是返回非零,否则返回零.islower(‘A’)、islower(‘B’)、islower(’\n’) 都是返回0;islower(‘a’)、islower(‘b’)返回>0
isupper测试是否大写字母, 是返回非零,否则返回零.
isalpha测试是否 字母, 是返回非零,否则返回零.
isalnum测试是否 数字, 是返回非零,否则返回零.
Iscntrl测试是否 控制字符, 是返回非零,否则返回零.
Isprint测试是否 可打印字符, 是返回非零,否则返回零.
Isgraph测试是否 可打印字符,不含空格,是返回非零,否则返回零.
Isdigit测试是否是字符 ‘0’~‘9’ , 是返回非零,否则返回零.
Isblank测试是否 标准空白字符, 是返回非零,否则返回零.
isspace测试是否 空白字符, 是返回非零,否则返回零.
ispunct测试是否 标点符号, 是返回非零,否则返回零.
函数名功能例子
toupper将小写 转换成大写 如果不是字符 返回原值toupper(‘a’)返回’A’
tolower将大写 转换成小写 如果不是字符 返回原值tolower(‘A’)返回’a’

头文件:#include <stdlib.h>

函数名功能例子
atof从字符串转换成double类型double f1 = atof(“33.5”)
atoi从字符串转换成 int 类型int f1 = atoi(“33”)
atol从字符串转换成 long 类型long f1 = atol(“33”)
atoll从字符串转换成 long long 类型long long f1 = atoll(“33”)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值