C语言字符/字符串相关函数收藏
Posted dongxiaodong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言字符/字符串相关函数收藏相关的知识,希望对你有一定的参考价值。
字符处理函数
int tolower(char ch)若ch是大写字母(‘A‘-‘Z‘)返回相应的小写字母(‘a‘-‘z‘)
int toupper(char ch)若ch是小写字母(‘a‘-‘z‘)返回相应的大写字母(‘A‘-‘Z‘)
int _tolower(char ch)返回ch相应的小写字母(‘a‘-‘z‘)
int _toupper(char ch)返回ch相应的大写字母(‘A‘-‘Z‘)
int toascii(char c)返回c相应的ASCII
举个栗子:
#include<stdio.h> void main(){ char ch1=‘j‘; printf("%c ",tolower(‘H‘));//输出:h printf("%c ",_toupper(‘h‘));//输出:H printf("%d ",toascii(‘a‘));//输出:97 }
字符判断函数
int isalpha(char ch) 若ch是字母(‘A‘-‘Z‘,‘a‘-‘z‘)返回非0值,(返回1024)否则返回0
int isalnum(char ch) 若ch是字母(‘A‘-‘Z‘,‘a‘-‘z‘)或数字(‘0‘-‘9‘),返回非0值,否则返回0
int isascii(char ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0
int iscntrl(char ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F),返回非0值,否则返回0
int isdigit(char ch) 若ch是数字(‘0‘-‘9‘)返回非0值,否则返回0
int isgraph(char ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0
int islower(char ch) 若ch是小写字母(‘a‘-‘z‘)返回非0值,否则返回0
int isupper(char ch) 若ch是大写字母(‘A‘-‘Z‘)返回非0值,否则返回0
int isprint(char ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0
int ispunct(char ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回0
int isspace(char ch) 若ch是空格(‘ ‘),水平制表符(‘ ‘),回车符(‘ ‘),走纸换行(‘f‘),垂直制表符(‘v‘),换行符(‘ ‘) 返回非0值,否则返回0
int isxdigit(char ch) 若ch是16进制数(‘0‘-‘9‘,‘A‘-‘F‘,‘a‘-‘f‘)返回非0值, 否则返回0
举个栗子:
#include<stdio.h> void main(){ char ch1=‘j‘; printf("%d ",isalpha(ch1));//输出:1024 printf("%d ",isalnum(ch1));//输出:8 printf("%d ",isdigit(ch1));//输出:0: }
类型转换
Str->double
头文件:stdlib.h
函数原型:double strtod(const char *nptr,char **endptr);
说明:nptr为原字符串,endptr原字符串转换后抛弃的后面的内容,填写NULL则不返回,原字符串数字前面只能是控制或者加减号。
返回值:正负double值
举个栗子:
#include<stdio.h> #include<stdlib.h> void main(){ char *ch1=" -100.65987ffjj"; char *endss; printf("%lf ",strtod(ch1,NULL));//输出:-100.659870 printf("%lf ",strtod(ch1,&endss));//输出:-100.659870 printf("%s ",endss);//输出:ffjj }
Str->long int
头文件:stdlib.h
函数原型:long int strtol(const char *str, char **endptr, int base)
返回值:长整型,以base提取,然后再转换为long int 类型
参数:
str -- 要转换为长整数的字符串。
endptr -- 对类型为 char* 的对象的引用,其值由函数设置为 str 中数值后的下一个字符。
base -- 基数,必须介于 2 和 36(包含)之间,或者是特殊值 0(如0x开头的自动设置为十六进制等)。
举个栗子:
#include<stdio.h> #include<stdlib.h> void main(){ char *ch1="0101jjx"; char *endss; printf("%ld ",strtol(ch1,NULL,2));//输出:5 printf("%ld ",strtol(ch1,&endss,10));//输出:101 printf("%s ",endss);//输出:jjx }
Str->int
头文件:stdlib.h
原型:int atoi(const char *nptr);
注意:原字符串开头必须是空格或者数字或者加减号
举个栗子:
#include<stdio.h> #include<stdlib.h> void main(){ char *ch1=" 11.963xxx"; printf("%d ",atoi(ch1));//输出:11 }
str->double
atof() 字符串转换到 double 符点数,使用方法与stoi相似
str->long int
atol() 字符串转换到 long 整型,使用方法与stoi相似
字符串处理函数
长度计算:
strlen()函数:
头文件:string.h
原型:int strlen(const char *str)
返回值:遇到’