C语言字符检测函数
字符检测函数:int 函数名(字符)
iscntrl()函数
iscntrl() 函数用来检测参数是否是控制字符.
在ASCII码表中,0至31以及127(共33个)是控制字符.
“控制字符”是指那些具有某种特殊功能、不会显示在屏幕上、不会占用字符位置的特殊字符。无法在屏幕上打印的字符称为控制字符。例如,退格键\b,换行符\n等。
原型:int iscntrl(int c);
头文件:<ctype.h>
功能:检查参数c是否为控制字符,也就是判断参数c的范围是否在0到31之间或是127。
返回值:若参数c为控制字符,则返回非0,否则返回0
#include <stdio.h>
#include <ctype.h>
int main()
{
int c = 127;
int ret = iscntrl(c);
printf("%d\n", ret);//32
c = 31;
ret = iscntrl(c);
printf("%d\n", ret);//32
c = 33;
ret = iscntrl(c);
printf("%d\n", ret);//0
printf("%d\n", iscntrl('\f'));//32
printf("%d\n", iscntrl('\b'));//32
return 0;
}
若char c=30;当将字符作为参数传递时,将传递字符的相应ASCII值,而不是传递该字符本身
isspace()函数
isspace()函数用来检测(参数)是否是空格字符.
原型:int isspace(int c);
头文件:<ctype.h>
功能:检查参数 c 是否为空格字符, 也就是判断是否为空格(’ ‘)、水平制表符(’\t’)、回车符(’\r’)、换行符(’\n’)、垂直制表符(’\v’)或翻页(’\f’).
返回值:若参数c 为空格字符, 则返回非0, 否则返回0
#include <stdio.h>
#include <ctype.h>
int main()
{
char c =' ';
int ret = isspace(c);
printf("%d\n", ret);//8
c = '\t';
ret = isspace(c);
printf("%d\n", ret);//8
c = '\r';
ret = isspace(c);
printf("%d\n", ret);//8
return 0;
}
isblank()函数
isblank()函数用来检测参数是否为空白字符.
原型:int isblank(int c);
头 文 件:<ctype.h>
功能:检查参数c是否为空白字符,也就是判断是否为空白(space)或水平制表符(’\t’),空白 (space)的ASCII码值为32,水平制表符(’\t’)的ASCII码值为9.
返回值:如果参数c为空白字符,则返回非0,否则返回0
#include <stdio.h>
#include <ctype.h>
int main()
{
char c =' ';
int ret = isblank(c);
printf("%d\n", ret);//64
c = '\t';
ret = isblank(c);
printf("%d\n", ret);//64
c = '\v';
ret = isblank(c);
printf("%d\n", ret);//0
c = '\n';
ret = isblank(c);
printf("%d\n", ret);//0
c = '\r';
ret = isblank(c);
printf("%d\n", ret);//0
c = '\f';
ret = isblank(c);
printf("%d\n", ret);//0
return 0;
}
isdigit()函数
isdigit()函数用来检测参数是否为十进制数字(0~9)字符.
原型:int isdigit(int c);
头 文 件:<ctype.h>
功能:检查参数c是否为十进制数字(0~9)字符
返回值:如果参数c为十进制数字(0~9)字符,则返回非0,否则返回0
#include <stdio.h>
#include <ctype.h>
int main()
{
printf("%d\n", isdigit(6));//0 --错误写法
printf("%d\n", isdigit('6'));//4
printf("%d\n", isdigit('0'));//4
printf("%d\n",isdigit('h'));//0
return 0;
}
#include<stdio.h>
#include<ctype.h>
int main()
{
char str[30] = "4jdu7fbf0s52br8";
int i=0;
printf("str字符串中的所有阿拉伯数字为");
for(i = 0; str[i]; i++)//判断条件str[i]也可以写成str[i]!='\0'
{
if(isdigit(str[i]))
printf("%c", str[i]);
}
printf("\n");
return 0;
}
isxdigit()函数
isxdigit()函数用来检测参数是否为十六进制数字(0至f)字符.包括所有十进制数字字符,小写字母a~f,大写字母A至F.
原型:int isxdigit(int c);
头 文 件:<ctype.h>
功能:检查参数c是否为十六进制数字
返回值:如果参数c为十六进制数字,则返回非0,否则返回0
#include <stdio.h>
#include <ctype.h>
int main()
{
int c ='3';
int ret = isxdigit(c);
printf("%d\n", ret);//128
c = 'f';
ret = isxdigit(c);
printf("%d\n", ret);//128
c = 'A';
ret = isxdigit(c);
printf("%d\n", ret);//128
return 0;
}
islower()函数
islower()函数用来检测参数是否为小写字母(a~z).
原型:int islower(int c);
头 文 件:<ctype.h>
功能:检查参数c是否为小写字母(a~z)
返回值:如果参数c为小写字母(a~z),则返回非0,否则返回0
printf("%d\n", islower('z'));//2
printf("%d\n", islower('A'));//0
printf("%d\n", islower(5));//0
isupper()函数
isupper()函数用来检测参数是否为大写字母(A~Z).
原型:int isupper(int c);
头 文 件:<ctype.h>
功能:检查参数c是否为大写字母(A~Z)
返回值:如果参数c为大写字母(A~Z),则返回非0,否则返回0
printf("%d\n", isupper('z'));//0
printf("%d\n", isupper('A'));//1
printf("%d\n", isupper(5));//0
isalpha()函数
isalpha()函数用来检测参数是否为字母(A~Z)或字母(a-z).
原型:int isalpha(int c);
头 文 件:<ctype.h>
功能:检查参数c是否为字母A~Z或a-z
返回值:如果参数c为字母A~Z或a-z,则返回非0,否则返回0
printf("%d\n", isalpha('z'));//2
printf("%d\n", isalpha('A'));//1
printf("%d\n", isalpha(5));//0
isalnum()函数
isalnum()函数用来检测参数是否为字母或数字(a-z,A-Z,0-9)
原型:int isalnum(int c);
头 文 件:<ctype.h>
功能:检查参数c是否为字母或数字(a-z,A-Z,0-9)
返回值:如果参数c为字母或数字(a-z,A-Z,0-9),则返回非0,否则返回0
printf("%d\n", isalnum('z'));//2
printf("%d\n", isalnum('A'));//1
printf("%d\n", isalnum(5));//0
printf("%d\n", isalnum('5'));//4
ispunct()函数
ispunct()函数检测参数是否为标点符号,任何不属于数字或字母的图形字符(可打印)
头文件: <ctype.h>
原型: int ispunct(int c);
功能:检查参数 c 是否为标点符号或特殊符号.
返回值:若参数c 为非空格字符、非数字和非英文字母, 则返回非0, 否则返回0
printf("%d\n",ispunct (' '));//0
printf("%d\n", ispunct('A'));//0
printf("%d\n",ispunct ('5'));//0
printf("%d\n", ispunct(','));//16
printf("%d\n", ispunct('\t'));//0
printf("%d\n", ispunct('.'));//16
printf("%d\n", ispunct('*'));//16
printf("%d\n", ispunct('\n'));//0
printf("%d\n", ispunct('\r'));//0
printf("%d\n", ispunct('\f'));//0
isgraph()函数
isgraph()函数检测参数是否为图形字符
原型:int isgraph (int c);
头文件: <ctype.h>
功能:检查参数 c 是否为图形字符
返回值:若参数c 所对应的ASCII 码可打印, 且为非空格字符, 则返回非0, 否则返回0
printf("%d\n",isgraph(' '));//0
printf("%d\n", isgraph('A'));//1
printf("%d\n", isgraph('5'));//4
printf("%d\n", isgraph(','));//16
printf("%d\n", isgraph('\t'));//0
printf("%d\n", isgraph('.'));//16
printf("%d\n", isgraph('*'));//16
printf("%d\n", isgraph('\n'));//0
printf("%d\n", isgraph('\r'));//0
printf("%d\n", isgraph('\f'));//0
isprint()函数
isprint()函数检测参数是否为可打印字符,包括图形字符和空白字符(’ ')
原型:int isprint (int c);
头文件: <ctype.h>
功能:检查参数 c 是否为可打印字符
返回值:若参数c 为可打印字符, 则返回非0, 否则返回0
printf("%d\n", isprint(' '));//64
printf("%d\n", isprint('A'));//1
printf("%d\n", isprint('5'));//4
printf("%d\n", isprint(','));//16
printf("%d\n", isprint('\t'));//0
printf("%d\n", isprint('.'));//16
printf("%d\n", isprint('*'));//16
printf("%d\n", isprint('\n'));//0
printf("%d\n", isprint('\r'));//0
printf("%d\n", isprint('\f'));//0