字符串处理函数

字符串处理函数头文件#include

字符串长度:

strlen​(字符数组名): 会返回参数中字符数组中字符串的不包含‘\0'的长度。

字符串拼接:

strcat(str1,str2):会将字符串str2拼接到字符串str1的后面,但是这里有一个问                      题,如果str1的长度不够大的话就会导致字符串溢出,就会覆盖字符                           串str1之后的内存空间,可能会造成严重的影响。

strncat(​str1,str2,n):功能也是将str2拼接到str1中,但相比较strcat()而言                  strncat()多了一个size_t类型参数,strncat(​str1,str2,n)也就表示把str2            的前n个字符拼接到str1中。

字符串对比:​

strcmp:​strcmp(str1,str2) 比较字符串str1和str2是否完全相同,如果完全相同则返          回 0,如果str1大于str2返回1,否则返回-1;   

strcpy:​strcpy(str1,str2)的作用是将字符串str2中的内容完全赋值给str1

strncpy:strncpy(str1,str2,n)将str2的前n个字符复制到str1中,一般建议将n设为str1的长度,防止字符串溢出,为了保险起见最好将str1最后的字符置NULL。

字符查找:

strchr​:strchr(str1,a)的意思是查找字符a在字符串str1中首次出现的位置(char*指            针)。找到的话就返回首次出现a的位置的指针​,没找到就返回NULL

strpbrk:​strpbrk(str1,str2),在源字符串str1中查找最先出现字符串str2中任意字              符的位置,这里返回的是指向str1字符串最先出现所找字符的指针,所以一定要            保证str1的有效性;如果没有找到则会返回NULL;

strrchr:​strrchr(str1,c),查找字符c在字符串str1中从后面开始的第一次出现的位置,如            果成功,则返回最后一次出现a的位置的指针,如果失败,则返回 NULL。

strstr:​strstr(str1,str2),这个函数的作用是在字符串str1中查找字符串str2,如果            找到则返回str2在str1中第一次出现位置的指针(这个指针是指向str1中字符的指          针所以需保持str1有效),如果没找到则返回NULL。

字符串转换(字符串到整形,浮点,长整形,):​

atoi​int a=atoi(str);atoi是ASCII to integer 的缩写,意思就是将字符串转换成整           形。注意:这里的str中必须包含数字字符,他会从第一次出现数字字符或'+','-'             开始直到遇到非数字字符结束中间的转换为整形并返回。

atof:float a=​atoi(str);atof是ASCII to float 的缩写,与atoi类似,作用是将字符         串转换为浮点型。

atol:long int  a=​atol(str);atol是ASCII to long的缩写,用法同上

这里的atoi,atof和atol都有局限性,只能单纯的转换并不能返回转换的位置。

strtol​:long int strtol(const char *nptr,char **endptr,int base) 这里有三个参数,第          一个nptr是要转换成长整型的目标字符串,第二个参数是一个传出参数用来返回            转换的长整型的结尾在源字符串中位置,比如将wsd1234asd转换为长整型,                endptr则指向a位置,第三个参数表示转换格式,base为10时表示十进制为16时          表示十六进制,为8时表示8进制。

strtod:double strtod(const char *nptr,char **endptr);将字符串转换为double类型          strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号          才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,endptr的作用和          strol中一样。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如            123.456或123e-2。

​字符串格式化

​数值或浮点数转换为字符使用sprintf,它的作用是将某个类型的变量或常量进行格式化输出

int sprintf( char *buffer, const char *format, [ argument] … );​

buffer:char型指针,指向将要写入的字符串的缓冲区。

format:格式化字符串。(在这里规定要以什么格式输出变量或常量)

[argument]...:可选参数,可以是任何类型的数据。(要格式输出的变量或常量)

返回的int是指字符串长度。

比如

char s[255];

char *a="who";

​sprintf(s,"%s am %s?",a,"i")​; 会将who am i?写入字符串s;

或者将浮点型格式化输出到字符串;

char s[255];

float f=1234.56789;

sprintf(s,"%7.2f",f);会将1234.56写入字符串s;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值