Linux常用C函数---字符测试篇

函数讲解部分参考http://net.pku.edu.cn/~yhf/linux_c/

isalnum(测试字符是否为英文或数字)

相关函数
isalpha,isdigit,islower,isupper

表头文件
#include<ctype.h>

定义函数
int isalnum (int c)

函数说明
检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c) || isdigit(c)”做测试。

返回值
若参数c为字母或数字,则返回TRUE,否则返回NULL(0)。

附加说明
此为宏定义,非真正函数。

范例
/* 找出str 字符串中为英文字母或数字的字符*/

#include < ctype.h>

main()

{

char str[]=”[email protected]#FDsP[e?”;

int i;

for (i=0;str[i]!=0;i++ )

if ( isalnum(str[i])) printf(“%c is an alphanumeric character\n”,str[i]);

}


执行
1 is an apphabetic character

2 is an apphabetic character

3 is an apphabetic character

c is an apphabetic character

F is an apphabetic character

D is an apphabetic character

s is an apphabetic character

P is an apphabetic character

e is an apphabetic character

isalpha (测试字符是否为英文字母)


相关函数
isalnum,islower,isupper

表头文件
#include<ctype.h>

定义函数
int isalpha (int c)

函数说明
检查参数c是否为英文字母,在标准c中相当于使用“isupper(c)||islower(c)”做测试。

返回值
若参数c为英文字母,则返回TRUE,否则返回NULL(0)。

附加说明
此为宏定义,非真正函数。

范例
/* 找出str 字符串中为英文字母的字符*/

#include <ctype.h>

main()

{

char str[]=”[email protected]#FDsP[e?”;

int i;

for (i=0;str[i]!=0;i++)

if(isalpha(str[i])) printf(“%c is an alphanumeric character\n”,str[i]);

}


执行
c is an apphabetic character

F is an apphabetic character

D is an apphabetic character

s is an apphabetic character

P is an apphabetic character

e is an apphabetic character

isascii(测试字符是否为ASCII 码字符)


相关函数
iscntrl

表头文件
#include <ctype.h>

定义函数
int isascii(int c);

函数说明
检查参数c是否为ASCII码字符,也就是判断c的范围是否在0到127之间。

返回值
若参数c为ASCII码字符,则返回TRUE,否则返回NULL(0)。

附加说明
此为宏定义,非真正函数。

范例
/* 判断int i是否具有对映的ASCII码字符*/

#include<ctype.h>

main()

{

int i;

for(i=125;i<130;i++)

if(isascii(i))

printf("%d is an ascii character:%c\n",i,i);

else

printf("%d is not an ascii character\n",i);

}


执行
125 is an ascii character:}

126 is an ascii character:~

127 is an ascii character:

128 is not an ascii character

129 is not an ascii character

iscntrl(测试字符是否为ASCII 码的控制字符)


相关函数
isascii

表头文件
#include <ctype.h>

定义函数
int iscntrl(int c);

函数说明
检查参数c是否为ASCII控制码,也就是判断c的范围是否在0到30之间。

返回值
若参数c为ASCII控制码,则返回TRUE,否则返回NULL(0)。

附加说明
此为宏定义,非真正函数。

isdigit(测试字符是否为阿拉伯数字)


相关函数
isxdigit

表头文件
#include<ctype.h>

定义函数
int isdigit(int c)

函数说明
检查参数c是否为阿拉伯数字0到9。

返回值
若参数c为阿拉伯数字,则返回TRUE,否则返回NULL(0)。

附加说明
此为宏定义,非真正函数。

范例
/* 找出str字符串中为阿拉伯数字的字符*/

#include<ctype.h>

main()

{

char str[]="[email protected]#FDsP[e?";

int i;

for(i=0;str[i]!=0;i++)

if(isdigit(str[i])) printf("%c is an digit character\n",str[i]);

}


执行
1 is an digit character

2 is an digit character

3 is an digit character

isgraphis(测试字符是否为可打印字符)


相关函数
isprint

表头文件
#include <ctype.h>

定义函数
int isgraph (int c)

函数说明
检查参数c是否为可打印字符,若c所对映的ASCII码可打印,且非空格字符则返回TRUE。

返回值
若参数c为可打印字符,则返回TRUE,否则返回NULL(0)。

附加说明
此为宏定义,非真正函数。

范例
/* 判断str字符串中哪些为可打印字符*/

#include<ctype.h>

main()

{

char str[]="a5 @;";

int i;

for(i=0;str[i]!=0;i++)

if(isgraph(str[i])) printf("str[%d] is printable character:%d\n",i,str[i]);

}


执行
str[0] is printable character:a

str[1] is printable character:5

str[3] is printable character:@

str[4] is printable character:;

islower(测试字符是否为小写字母)


相关函数
isalpha,isupper

表头文件
#include<ctype.h>

定义函数
int islower(int c)

函数说明
检查参数c是否为小写英文字母。

返回值
若参数c为小写英文字母,则返回TRUE,否则返回NULL(0)。

附加说明
此为宏定义,非真正函数。

范例
#include<ctype.h>

main()

{

char str[]="[email protected]#FDsP[e?";

int i;

for(i=0;str[i]!=0;i++)

if(islower(str[i])) printf("%c is a lower-case character\n",str[i]);

}


执行
c is a lower-case character

s is a lower-case character

e is a lower-case character

isprint(测试字符是(否为可打印字符)


相关函数
isgraph

表头文件
#include<ctype.h>

定义函数
int isprint(int c);

函数说明
检查参数c是否为可打印字符,若c所对映的ASCII码可打印,其中包含空格字符,则返回TRUE。

返回值
若参数c为可打印字符,则返回TRUE,否则返回NULL(0)。

附加说明
此为宏定义,非真正函数。

范例
/* 判断str字符串中哪些为可打印字符包含空格字符*/

#include<ctype.h>

main()

{

char str[]="a5 @;";

int i;

for(i=0;str[i]!=0;i++)

if(isprint(str[i])) printf("str[%d] is printable character:%d\n",i,str[i]);

}


执行
str[0] is printable character:a

str[1] is printable character:5

str[2] is printable character:

str[3] is printable character:@

str[4] is printable character:;

isspace(测试字符是否为空格字符)


相关函数
isgraph

表头文件
#include<ctype.h>

定义函数
int isspace(int c)

函数说明
检查参数c是否为空格字符,也就是判断是否为空格(‘‘)、定位字符(‘\t‘)、CR(‘\r‘)、换行(‘\n‘)、垂直定位字符(‘\v‘)或翻页(‘\f‘)的情况。

返回值
若参数c为空格字符,则返回TRUE,否则返回NULL(0)。

附加说明
此为宏定义,非真正函数。

范例
/*将字符串str[]中内含的空格字符找出,并显示空格字符的ASCII码*/

#include <ctype.h>

main()

{

char str="123c @# FD\tsP[e?\n";

int i;

for(i=0;str[i]!=0;i++)

if(isspace(str[i]))

printf("str[%d] is a white-space character:%d\n",i,str[i]);

}


执行
str[4] is a white-space character:32

str[7] is a white-space character:32

str[10] is a white-space character:9 /* \t */

str[16] is a white-space character:10 /* \t */

ispunct(测试字符是否为标点符号或特殊符号)


相关函数
isspace,isdigit,isalpha

表头文件
#inlude<ctype.h>

定义函数
int ispunct(int c)

函数说明
检查参数c是否为标点符号或特殊符号。返回TRUE也就是代表参数c为非空格、非数字和非英文字母。

返回值
v若参数c为标点符号或特殊符号,则返回TRUE,否则返回NULL(0)。

附加说明
此为宏定义,非真正函数。

范例
/*列出字符串str中的标点符号或特殊符号*/

#include <ctype.h>

main()

{

char str[]="[email protected] #FDsP[e?";

int i;

for(i=0;str[i]!=0;i++)

if(ispunct(str[i])) printf("%c\n",str[i]);

}


执行
v

@#[?

isupper(测试字符是否为大写英文字母)


相关函数
isalpha,islower

表头文件
#include<ctype.h>

定义函数
int isupper(int c)

函数说明
检查参数c是否为大写英文字母。

返回值
若参数c为大写英文字母,则返回TRUE,否则返回NULL(0)。

附加说明
此为宏定义,非真正函数。

范例
/*找出字符串str中为大写英文字母的字符*/

#include <ctype.h>

main()

{

char str[]="[email protected]#FDsP[e?";

int i;

for(i=0;str[i]!=0;i++)

if(isupper(str[i])) printf("%c is an uppercase character\n",str[i]);

}


执行
F is an uppercase character

D is an uppercase character

P is an uppercase character

isxdigit(测试字符是否为16进制数字)


相关函数
isalnum,isdigit

表头文件
#include<ctype.h>

定义函数
int isxdigit (int c)

函数说明
检查参数c是否为16进制数字,只要c为下列其中一个情况则返回TRUE。16进制数字:0123456789ABCDEF。

返回值
若参数c为16进制数字,则返回TRUE,否则返回NULL(0)。

附加说明
此为宏定义,非真正函数。

范例
/*找出字符串str中为十六进制数字的字符*/

#include <ctype.h>

main()

{

char str[]="[email protected]#FDsP[e?";

int i;

for(i=0;str[i]!=0;i++)

if(isxdigit(str[i])) printf("%c is a hexadecimal digits\n",str[i]);

}


执行
1 is a hexadecimal digits

2 is a hexadecimal digits

3 is a hexadecimal digits

c is a hexadecimal digits

F is a hexadecimal digits

D is a hexadecimal digits

e is a hexadecimal digits

Linux实例程序代码如下:

#include <stdio.h>

#include <ctype.h>

void isalnum_fun(char *str);

void isalpha_fun(char *str);

void isdigit_fun(char *str);

void isgraphis_fun(char *str);

void islower_fun(char *str);

void isprint_fun(char *str);

void isspace_fun(char *str);

void ispunct_fun(char *str);

void isupper_fun(char *str);

void isxdigit_fun(char *str);

int main()

{

	int Index;

	char str[40];

	printf("1.isalnum_fun()\n");

	printf("2.isalpha_fun()\n");

	printf("3.isdigit_fun()\n");

	printf("4.isgraphis_fun()\n");

	printf("5.islower_fun()\n");

	printf("6.isprint_fun()\n");

	printf("7.isspace_fun()\n");

	printf("8.ispunct_fun()\n");

	printf("9.isupper_fun()\n");

	printf("10.isxdigit_fun()\n");

	printf("Please input the String:\n");

	gets(str);

	while(1)

	{

		printf("Please input the operator you want done (0-exit):\n");

		scanf("%d",&Index);

		if(Index==0)

		{

			printf("Bye Bye!\n");

			break;

		}

		else

		{

		       switch(Index)

		      {

			     case 1:isalnum_fun(str);

			        break;

			     case 2:isalpha_fun(str);

			        break;

			     case 3:isdigit_fun(str);

			        break;

			     case 4:isgraphis_fun(str);

			        break;

			     case 5:islower_fun(str);

			        break;

			     case 6:isprint_fun(str);

			        break;

			     case 7:isspace_fun(str);

			        break;

			     case 8:ispunct_fun(str);

			        break;

			     case 9:isupper_fun(str);

			        break;

			     case 10:isxdigit_fun(str);

			        break;

			     default:

				break;

			}

		}

	  }

  return 0;

}

void isalnum_fun(char *str)

{

	int i;

	for(i=0;str[i]!=0;i++);

	{

		if(isalnum(str[i]))

			printf("%c is an alphanumberic character\n",str[i]);

	}

}

void isalpha_fun(char *str)

{

	int i;

	for(i=0;str[i]!=0;i++)

	{

		if(isalpha(str[i]))

			printf("%c is an alphanumberic character\n",str[i]);

	}

}

void isdigit_fun(char *str)

{

	int i;

	for(i=0;str[i]!=0;i++)

	{

		if(isdigit(str[i]))

		printf("%c is an digit character\n",str[i]);

	}

}

void isgraphis_fun(char *str)

{

	int i;

	for(i=0;str[i]!=0;i++)

	{

		if(isgraph(str[i]))

			printf("str[%d] is printable character:%c\n",i,str[i]);

	}

}

void islower_fun(char *str)

{

	int i;

	for(i=0;str[i]!=0;i++)

	{

		if(islower(str[i]))

			printf("%c is an low_case character\n",str[i]);

	}

}

void isprint_fun(char *str)

{

	int i;

	for(i=0;str[i]!=0;i++)

	{

		if(isprint(str[i]))

			printf("str[%d] is printable character:%c\n",i,str[i]);

	}

}

void isspace_fun(char *str)

{

	int i;

	for(i=0;str[i]!=0;i++)

	{

			if(isspace(str[i]))

				printf("str[%d] is a white_space character:%d\n",i,str[i]);

	}	

}

void ispunct_fun(char *str)

{

	int i;

	for(i=0;str[i]!=0;i++)

	{

		if(ispunct(str[i]))

			printf("%c\n",str[i]);

	}

}

void isupper_fun(char *str)

{

	int i;

	for(i=0;str[i]!=0;i++)

	{

		if(isupper(str[i]))

			printf("%c is an upper_case character\n",str[i]);

	}

}

void isxdigit_fun(char *str)

{
	int i;

	for(i=0;str[i]!=0;i++)

	{

		if(isxdigit(str[i]))

			printf("%c is an hex digits\n",str[i]);

	}

}

运行结果图:

转载请注明:小刘

时间: 12-16

Linux常用C函数---字符测试篇的相关文章

Linux常用C函数---内存控制篇

函数讲解部分参考http://net.pku.edu.cn/~yhf/linux_c/ calloc(配置内存空间) 相关函数 malloc,free,realloc,brk 表头文件 #include <stdlib.h> 定义函数 void *calloc(size_t nmemb,size_t size); 函数说明 calloc()用来配置nmemb个相邻的内存单位,每一单位的大小为size,并返回指向第一个元素的指针.这和使用下列的方式效果相同:malloc(nmemb*size);

linux常用C函数目录

字符测试篇 isalnum isalpha isascii iscntrl isdigit isgraphis islower isprint isspace ispunct isupper isxdigit 字符串转换篇 atof atoi atol gcvt strtod strtol strtoul toascii tolower toupper 内存控制篇 calloc free getpagesize malloc mmap munmap 日期时间篇 asctime ctime get

linux下Bash编程字符测试与for循环语句(五)

1.字符测试: ==:测试是否相等,相等为真,不等为假 !=: 测试是否不等,不等为真,等为假 >,<,>=,<= -n string: 测试指定字符串是否为空,空则真,不空则假 -z string: 测试指定字符串是否不空,不空为真,空则为假 2.for循环:进入条件,退出条件 for 变量 in 列表; do 循环体 done 生成列表: {1..100}:表示为1至100的数,步长为1 seq [起始数 [步进长度]] 结束数 例如: seq 1 100 默认步长为1 dec

字符测试篇isalnum isalpha isascii iscntrl isdigit isgraphis islower isprint isspace ispunct isupper isxdigit

isalnum(测试字符是否为英文或数字) 相关函数 isalpha,isdigit,islower,isupper 表头文件 #include<ctype.h> 定义函数 int isalnum (int c) 函数说明 检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c) || isdigit(c)”做测试. 返回值 若参数c为字母或数字,则返回TRUE,否则返回NULL(0). 附加说明 此为宏定义,非真正函数. 范例 /* 找出str 字符串中为英文字母或数

c#.net常用字符串函数 字符创常用方法

Compare 比较字符串的内容,考虑文化背景(场所),确定某些字符是否相等 CompareOrdinal 与Compare一样,但不考虑文化背景 Format 格式化包含各种值的字符串和如何格式化每个值的说明符 IndexOf 定位字符串中第一次出现某个给定子字符串或字符的位置 IndexOfAny 定位字符串中第一次出现某个字符或一组字符的位置 LastIndexOf 与IndexOf一样,但定位最后一次出现的位置 LastIndexOfAny 与IndexOfAny,但定位最后一次出现的位

iOS开发数据库篇—SQLite常用的函数

iOS开发数据库篇—SQLite常用的函数 一.简单说明 1.打开数据库 int sqlite3_open( const char *filename,   // 数据库的文件路径 sqlite3 **ppDb          // 数据库实例 ); 2.执行任何SQL语句 int sqlite3_exec( sqlite3*,                                  // 一个打开的数据库实例 const char *sql,                    

linux字符测试

字符测试 ==: 测试是否相等,相等为真,不等为假 !=: > < -n string:测试字符串是否为空,空为真,不空为假 -z string:测试指定的字符串是否不为空,不为空为真,空为假 [ -n $STRING ]

PHP常用函数之数组篇

分类:数组分为索引数组和关联数组.索引数组既是指的我们的数组下表为阿拉伯数字,关联数组则是非阿拉伯数字. 定义: 5.4版本之前 $arr = array('name' => '张三', 'age' => 12); 5.3之后 可以定义为 $arr = ['name' => '张三', 'age' => 12];也可以$arr = array('name' => '张三', 'age' => 12); 常用的函数有 1.int count ( mixed $var [,

linux常用命令技巧

原文地址 这篇文章来源于Quroa的一个问答<What are some time-saving tips that every Linux user should know?>-- Linux用户有哪些应该知道的提高效率的技巧.我觉得挺好的,总结得比较好,把其转过来,并加了一些自己的理解. 首先,我想告诉大家,在Unix/Linux下,最有效率技巧的不是操作图形界面,而是命令行操作,因为命令行意味着自动化.如果你看过<你可能不知道的Shell>以及<28个Unix/Linu