1、字符测试篇字符测试篇isalnum(测试字符是否为英文或数字) 相关函数 isalpha,isdigit,islower,isupper表头文件 #include定义函数 int isalnum (int c)函数说明 检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c) | isdigit(c)”做测试。返回值 若参数c为字母或数字,则返回TRUE,否则返回NULL(0)。附加说明 此为宏定义,非真正函数。范例 /* 找出str 字符串中为英文字母或数字的字符*/#include main() char str=”123c#FDsPe?”;int i;for (i
2、=0;stri!=0;i+ )if ( isalnum(stri) printf(“%c is analphanumeric charactern”,stri); 执行 1 is an apphabetic character2 is an apphabetic character3 is an apphabetic characterc is an apphabetic characterF is an apphabetic characterD is an apphabetic characters is an apphabetic characterP is an apphabetic
3、charactere is an apphabetic characterisalpha (测试字符是否为英文字母) 相关函数 isalnum,islower,isupper表头文件 #include定义函数 int isalpha (int c)函数说明 检查参数c是否为英文字母,在标准c中相当于使用“isupper(c)|islower(c)”做测试。返回值 若参数c为英文字母,则返回TRUE,否则返回NULL(0)。附加说明 此为宏定义,非真正函数。范例 /* 找出str 字符串中为英文字母的字符*/#include main() char str=”123c#FDsPe?”;int i
4、;for (i=0;stri!=0;i+)if(isalpha(stri) printf(“%c is analphanumeric charactern”,stri); 执行 c is an apphabetic characterF is an apphabetic characterD is an apphabetic characters is an apphabetic characterP is an apphabetic charactere is an apphabetic characterisascii(测试字符是否为ASCII 码字符) 相关函数 iscntrl表头文件
5、#include 定义函数 int isascii(int c);函数说明 检查参数c是否为ASCII码字符,也就是判断c的范围是否在0到127之间。返回值 若参数c为ASCII码字符,则返回TRUE,否则返回NULL(0)。附加说明 此为宏定义,非真正函数。范例 /* 判断int i是否具有对映的ASCII码字符*/#includemain() int i;for(i=125;i130;i+)if(isascii(i)printf(%d is an ascii character:%cn,i,i);elseprintf(%d is not an ascii charactern,i); 执行
6、 125 is an ascii character:126 is an ascii character:127 is an ascii character:128 is not an ascii character129 is not an ascii characteriscntrl(测试字符是否为ASCII 码的控制字符) 相关函数 isascii表头文件 #include 定义函数 int iscntrl(int c);函数说明 检查参数c是否为ASCII控制码,也就是判断c的范围是否在0到30之间。返回值 若参数c为ASCII控制码,则返回TRUE,否则返回NULL(0)。附加说明
7、此为宏定义,非真正函数。isdigit(测试字符是否为阿拉伯数字) 相关函数 isxdigit表头文件 #include定义函数 int isdigit(int c)函数说明 检查参数c是否为阿拉伯数字0到9。返回值 若参数c为阿拉伯数字,则返回TRUE,否则返回NULL(0)。附加说明 此为宏定义,非真正函数。范例 /* 找出str字符串中为阿拉伯数字的字符*/#includemain() char str=123#FDsPe?;int i;for(i=0;stri!=0;i+)if(isdigit(stri) printf(%c is an digit charactern,stri);
8、执行 1 is an digit character2 is an digit character3 is an digit characterisgraphis(测试字符是否为可打印字符) 相关函数 isprint表头文件 #include 定义函数 int isgraph (int c)函数说明 检查参数c是否为可打印字符,若c所对映的ASCII码可打印,且非空格字符则返回TRUE。返回值 若参数c为可打印字符,则返回TRUE,否则返回NULL(0)。附加说明 此为宏定义,非真正函数。范例 /* 判断str字符串中哪些为可打印字 符*/#includemain() char str=a5
9、;int i;for(i=0;stri!=0;i+)if(isgraph(stri) printf(str%d is printable character:%dn,i,stri); 执行 str0 is printable character:astr1 is printable character:5str3 is printable character:str4 is printable character:;islower(测试字符是否为小写字母) 相关函数 isalpha,isupper表头文件 #include定义函数 int islower(int c)函数说明 检查参数c是否为
10、小写英文字母。返回值 若参数c为小写英文字母,则返回TRUE,否则返回NULL(0)。附加说明 此为宏定义,非真正函数。范例 #includemain() char str=123#FDsPe?;int i;for(i=0;stri!=0;i+)if(islower(stri) printf(%c is a lower-case charactern,stri); 执行 c is a lower-case characters is a lower-case charactere is a lower-case characterisprint(测试字符是(否为可打印字符) 相关函数 isgr
11、aph表头文件 #include定义函数 int isprint(int c);函数说明 检查参数c是否为可打印字符, 若c所对映的ASCII码可打印,其中包含空格字符,则返回TRUE。返回值 若参数c为可打印字符,则返回TRUE,否则返回NULL(0)。附加说明 此为宏定义,非真正函数。范例 /* 判断str字符串中哪些为可打印字符包含空格字符*/#includemain() char str=a5 ;int i;for(i=0;stri!=0;i+)if(isprint(stri) printf(str%d is printable character:%dn,i,stri); 执行 st
12、r0 is printable character:astr1 is printable character:5str2 is printable character:str3 is printable character:str4 is printable character:;isspace(测试字符是否为空格字符) 相关函数 isgraph表头文件 #include定义函数 int isspace(int c)函数说明 检查参数c是否为空格字符,也就是判断是否为空格()、定位字符(t)、CR(r)、换行(n)、垂直定位字符(v)或翻页(f)的情况。返回值 若参数c为空格字符,则返回TRU
13、E,否则返回NULL(0)。附加说明 此为宏定义,非真正函数。范例 /*将字符串str中内含的空格字符找出,并显示空格字符的ASCII码*/#include main() char str=123c # FDtsPe?n;int i;for(i=0;stri!=0;i+)if(isspace(stri)printf(str%d is a white-spacecharacter:%dn,i,stri); 执行 str4 is a white-space character:32str7 is a white-space character:32str10 is a white-space ch
14、aracter:9 /* t */str16 is a white-space character:10 /* t */ispunct(测试字符是否为标点符号或特殊符号) 相关函数 isspace,isdigit,isalpha表头文件 #inlude定义函数 int ispunct(int c)函数说明 检查参数c是否为标点符号或特殊符号。返回TRUE也就是代表参数c为非空格、非数字和非英文字母。返回值 v若参数c为标点符号或特殊符号,则返回TRUE,否则返回NULL(0)。附加说明 此为宏定义,非真正函数。范例 /*列出字符串str中的标点符号或特殊符号*/#include main()
15、char str=123c #FDsPe?;int i;for(i=0;stri!=0;i+)if(ispunct(stri) printf(%cn,stri); 执行 v #?isupper(测试字符是否为大写英文字母) 相关函数 isalpha,islower表头文件 #include定义函数 int isupper(int c)函数说明 检查参数c是否为大写英文字母。返回值 若参数c为大写英文字母,则TRUE,否则返回NULL(0)。附加说明 此为宏定义,非真正函数。范例 /*找出字符串str中为大写英文字母的字符*/#include main() char str=123c#FDsPe
16、?;int i;for(i=0;stri!=0;i+)if(isupper(stri) printf(%c is an uppercase charactern,stri); 执行 F is an uppercase characterD is an uppercase characterP is an uppercase characterisxdigit(测试字符是否为16进制数字) 相关函数 isalnum,isdigit表头文件 #include定义函数 int isxdigit (int c)函数说明 检查参数c是否为16进制数字,只要c为下列其中一个情况则返回TRUE。16进制数字
17、:0123456789ABCDEF。返回值 若参数c为16进制数字,则返回TRUE,否则返回NULL(0)。附加说明 此为宏定义,非真正函数。范例 /*找出字符串str中为十六进制数字的字符*/#include main() char str=123c#FDsPe?;int i;for(i=0;stri!=0;i+)if(isxdigit(stri) printf(%c is a hexadecimal digitsn,stri); 执行 1 is a hexadecimal digits2 is a hexadecimal digits3 is a hexadecimal digitsc i
18、s a hexadecimal digitsF is a hexadecimal digitsD is a hexadecimal digitse is a hexadecimal digits字符串转换篇atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul表头文件 #include 定义函数double atof(const char *nptr);函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(0)才结束转换,并将结果返回。参数nptr字符 串可包含
19、正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。返回值 返回转换后的浮点型数。附加说明atof()与使用strtod(nptr,(char*)NULL)结果相同。范例 /* 将字符串a 与字符串b转换成数字后相加*/#includemain() char *a=”-100.23”;char *b=”200e-2”;float c;c=atof(a)+atof(b);printf(“c=%.2fn”,c); 执行 c=-98.23atoi(将字符串转换成整型数) 相关函数 atof,atol,atrtod,strtol,strtoul表头文件 #include定义函数 i
20、nt atoi(const char *nptr);函数说明 atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(0)才结束转换,并将结果返回。返回值 返回转换后的整型数。附加说明atoi()与使用strtol(nptr,(char*)NULL,10);结果相同。范例 /* 将字符串a 与字符串b转换成数字后相加*/#includemian() char a=”-100”;char b=”456”;int c;c=atoi(a)+atoi(b);printf(c=%dn”,c); 执行 c=356atol(将字符串转换成长
21、整型数) 相关函数 atof,atoi,strtod,strtol,strtoul表头文件 #include定义函数 long atol(const char *nptr);函数说明 atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(0)才结束转换,并将结果返回。返回值 返回转换后的长整型数。附加说明 atol()与使用strtol(nptr,(char*)NULL,10);结果相同。范例 /*将字符串a与字符串b转换成数字后相加*/#includemain() char a=”1000000000”;char b=”
22、234567890”;long c;c=atol(a)+atol(b);printf(“c=%dn”,c);执行 c=1234567890gcvt(将浮点型数转换为字符串,取四舍五入) 相关函数 ecvt,fcvt,sprintf表头文件 #include定义函数char *gcvt(double number,size_t ndigits,char *buf);函数说明gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串
23、会放在参数buf指针所指的空间。返回值 返回一字符串指针,此地址即为buf指针。附加说明 范例 #includemain() double a=123.45;double b=-1234.56;char *ptr;int decpt,sign;gcvt(a,5,ptr);printf(“a value=%sn”,ptr);ptr=gcvt(b,6,ptr);printf(“b value=%sn”,ptr); 执行 a value=123.45b value=-1234.56strtod(将字符串转换成浮点数) 相关函数 atoi,atol,strtod,strtol,strtoul表头文件
24、#include定义函数double strtod(const char *nptr,char *endptr); 函数说明 strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时(0)才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。返回值 返回转换后的浮点型数。附加说明 参考atof()。范例 /*将字符串a,b,c 分别采用10,2,16 进制转换成数字*
25、/#includemian() char a=”1000000000”;char b=”1000000000”;char c=”ffff”;printf(“a=%dn”,strtod(a,NULL,10);printf(“b=%dn”,strtod(b,NULL,2);printf(“c=%dn”,strtod(c,NULL,16);执行 a=1000000000 b=512 c=65535 strtol(将字符串转换成长整型数) 相关函数 atof,atoi,atol,strtod,strtoul表头文件 #include定义函数long int strtol(const char *npt
26、r,char*endptr,int base);函数说明 strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如0x前置字符则会使用16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时(0)结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endp
27、tr返回。返回值 返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。附加说明 ERANGE指定的转换字符串超出合法范围。范例 /* 将字符串a,b,c 分别采用10,2,16进制转换成数字*/#includemain() char a=”1000000000”;char b=”1000000000”;char c=”ffff”;printf(“a=%dn”,strtol(a,NULL,10);printf(“b=%dn”,strtol(b,NULL,2);printf(“c=%dn”,strtol(c,NULL,16);执行 a=1000000000 b=512 c=65
28、535strtoul(将字符串转换成无符号长整型数) 相关函数atof,atoi,atol,strtod,strtol表头文件 #include定义函数 unsigned long intstrtoul(const char *nptr,char *endptr,int base);函数说明 strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换,但遇到如0x前置字符则会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时(0)结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。返回值 返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。附加说明 ERANGE指定的转换字符串超出合法范围。范例 参考strtol()toascii(将整型数转换成合法的ASCII 码字符) 相关函数 isascii,toupper,tolower表头文件
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1