1、Linux 系统调用函数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?”;i
2、nt i;for (i=0;stri!=0;i+ )if ( isalnum(stri) printf(“%c is an alphanumeric 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
3、apphabetic 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=
4、”123c#FDsPe?”;int i;for (i=0;stri!=0;i+)if(isalpha(stri) printf(“%c is an alphanumeric 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 码字
5、符) 相关函数 iscntrl表头文件 #include 定义函数 int isascii(int c);函数说明 检查参数 c 是否为 ASCII 码字符,也就是判断 c 的范围是否在 0 到 127 之间。返回值 若参数 c 为 ASCII 码字符,则返回 TRUE,否则返回 NULL(0)。附加说明 此为宏定义,非真正函数。范例 /* 判断 int i 是否具有对映的 ASCII 码字符*/#includemain()int i;for(i=125;i定义函数 int iscntrl(int c);函数说明 检查参数 c 是否为 ASCII 控制码,也就是判断 c 的范围是否在 0 到
6、30 之间。返回值 若参数 c 为 ASCII 控制码,则返回 TRUE,否则返回 NULL(0)。附加说明 此为宏定义,非真正函数。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;s
7、tri!=0;i+)if(isdigit(stri) printf(“%c is an digit charactern“,stri);执行 1 is an digit character2 is an digit character3 is an digit characterisgraph(测试字符是否为可打印字符) 相关函数 isprint表头文件 #include 定义函数 int isgraph (int c)函数说明 检查参数 c 是否为可打印字符,若 c 所对映的 ASCII 码可打印,且非空格字符则返回 TRUE。返回值 若参数 c 为可打印字符,则返回 TRUE,否则返回 N
8、ULL(0)。附加说明 此为宏定义,非真正函数。范例 /* 判断 str 字符串中哪些为可打印字符*/#includemain()char str=“a5 ;“;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(测
9、试字符是否为小写字母) 相关函数 isalpha,isupper表头文件 #include定义函数 int islower(int c)函数说明 检查参数 c 是否为小写英文字母。返回值 若参数 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 charac
10、ters is a lower-case charactere is a lower-case characterisprint(测试字符是(否为可打印字符) 相关函数 isgraph表头文件 #include定义函数 int isprint(int c);函数说明 检查参数 c 是否为可打印字符,若 c 所对映的 ASCII 码可打印,其中包含空格字符,则返回 TRUE。返回值 若参数 c 为可打印字符,则返回 TRUE,否则返回 NULL(0)。附加说明 此为宏定义,非真正函数。范例 /* 判断 str 字符串中哪些为可打印字符包含空格字符*/#includemain()char str=
11、“a5 ;“;int i;for(i=0;stri!=0;i+)if(isprint(stri) printf(“str%d is printable character:%dn“,i,stri);执行 str0 is printable character:astr1 is printable character:5str2 is printable character:str3 is printable character:str4 is printable character:;isspace(测试字符是否为空格字符) 相关函数 isgraph表头文件 #include定义函数 int
12、isspace(int c)函数说明 检查参数 c 是否为空格字符,也就是判断是否为空格()、定位字符(t)、CR(r)、换行(n)、垂直定位字符(v)或翻页(f)的情况。返回值 若参数 c 为空格字符,则返回 TRUE,否则返回 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-space cha
13、racter:%dn“,i,stri);执行 str4 is a white-space character:32str7 is a white-space character:32str10 is a white-space character:9 /* t */str16 is a white-space character:10 /* t */ispunct(测试字符是否为标点符号或特殊符号) 相关函数 isspace,isdigit ,isalpha表头文件 #inlude定义函数 int ispunct(int c)函数说明 检查参数 c 是否为标点符号或特殊符号。返回 TRUE 也
14、就是代表参数 c 为非空格、非数字和非英文字母。返回值 v 若参数 c 为标点符号或特殊符号,则返回 TRUE,否则返回 NULL(0)。附加说明 此为宏定义,非真正函数。范例 /*列出字符串 str 中的标点符号或特殊符号*/#include main()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)函
15、数说明 检查参数 c 是否为大写英文字母。返回值 若参数 c 为大写英文字母,则返回 TRUE,否则返回 NULL(0)。附加说明 此为宏定义,非真正函数。范例 /*找出字符串 str 中为大写英文字母的字符*/#include main()char str=“123c#FDsPe?“;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 uppe
16、rcase characterisxdigit(测试字符是否为 16 进制数字) 相关函数 isalnum,isdigit表头文件 #include定义函数 int isxdigit (int c)函数说明 检查参数 c 是否为 16 进制数字,只要 c 为下列其中一个情况则返回 TRUE。16 进制数字:0123456789ABCDEF。返回值 若参数 c 为 16 进制数字,则返回 TRUE,否则返回 NULL(0)。附加说明 此为宏定义,非真正函数。范例 /*找出字符串 str 中为十六进制数字的字符*/#include main()char str=“123c#FDsPe?“;int
17、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 is a hexadecimal digitsF is a hexadecimal digitsD is a hexadecimal digitse is a hexadecimal digitsatof(将字符串转换成浮点型数) 相关函数 atoi, atol,strtod
18、 ,strtol,strtoul表头文件 #include 定义函数 double atof(const char *nptr);函数说明 atof()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(0) 才结束转换,并将结果返回。参数 nptr 字符串可包含正负号、小数点或 E(e)来表示指数部分,如 123.456 或123e-2。返回值 返回转换后的浮点型数。附加说明 atof()与使用 strtod(nptr,(char*)NULL)结果相同。范例 /* 将字符串 a 与字符串 b 转换成数字后相加*/#include
19、main()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定义函数 int atoi(const char *nptr);函数说明 atoi()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(0) 才结束转换,并将结果返回。返回值 返回转换后的整型数。附加说
20、明 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(将字符串转换成长整型数) 相关函数 atof,atoi,strtod,strtol,strtoul表头文件 #include定义函数 long atol(const char *nptr);函数说明 atol()会扫描参数 nptr 字符串,跳过前面的空格字符
21、,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(0) 才结束转换,并将结果返回。返回值 返回转换后的长整型数。附加说明 atol()与使用 strtol(nptr,(char*)NULL,10);结果相同。范例 /*将字符串 a 与字符串 b 转换成数字后相加*/#includemain()char a=”1000000000”;char b=” 234567890”;long c;c=atol(a)+atol(b);printf(“c=%dn”,c);执行 c=1234567890gcvt(将浮点型数转换为字符串,取四舍五入) 相关函数 ecvt,fcvt,sprintf
22、表头文件 #include定义函数 char *gcvt(double number,size_t ndigits,char *buf);函数说明 gcvt()用来将参数 number 转换成 ASCII 码字符串,参数 ndigits 表示显示的位数。gcvt()与 ecvt()和 fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数 buf 指针所指的空间。返回值 返回一字符串指针,此地址即为 buf 指针。附加说明 范例 #includemain()double a=123.45;double b=-1234.56;char
23、*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表头文件 #include定义函数 double strtod(const char *nptr,char *endptr);函数说明 strtod()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数
24、字或正负符号才开始做转换,到出现非数字或字符串结束时(0) 才结束转换,并将结果返回。若 endptr 不为 NULL,则会将遇到不合条件而终止的 nptr 中的字符指针由 endptr传回。参数 nptr 字符串可包含正负号、小数点或 E(e)来表示指数部分。如 123.456或 123e-2。返回值 返回转换后的浮点型数。附加说明 参考 atof()。范例 /*将字符串 a,b,c 分别采用 10,2,16 进制转换成数字*/#includemian()char a=”1000000000”;char b=”1000000000”;char c=”ffff”;printf(“a=%dn”,
25、strtod(a,NULL,10);printf(“b=%dn”,strtod(b,NULL,2);printf(“c=%dn”,strtod(c,NULL,16);执行 a=1000000000b=512c=65535strtol(将字符串转换成长整型数) 相关函数 atof,atoi,atol,strtod,strtoul表头文件 #include定义函数 long int strtol(const char *nptr,char *endptr,int base);函数说明 strtol()会将参数 nptr 字符串根据参数 base 来转换成长整型数。参数 base 范围从 2至 36
26、,或 0。参数 base 代表采用的进制方式,如 base 值为 10 则采用 10 进制,若base 值为 16 则采用 16 进制等。当 base 值为 0 时则是采用 10 进制做转换,但遇到如0x前置字符则会使用 16 进制做转换。一开始 strtol()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时(0)结束转换,并将结果返回。若参数 endptr 不为 NULL,则会将遇到不合条件而终止的 nptr 中的字符指针由 endptr 返回。返回值 返回转换后的长整型数,否则返回 ERANGE 并将错误代码存入 errno 中。附加说明 ERANGE 指定的转换字符串超出合法范围。范例 /* 将字符串 a,b,c 分别采用 10,2,16 进制转换成数字*/#includemain()char a=”1000000000”;
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。