admin管理员组

文章数量:1532466

2024年5月1日发(作者:)

isalnum()函数是什么意思

isalnum()函数用于检查所传的字符是否是字母或者十进制数字。它的函数原型如下:

1_CRTIMP int __cdecl isalnum(int _C);

返回值为非零(真)表示参数c是字母或者十进制数字,返回值为零(假)表示参数 既不是十进

制数字,也不是字母。

下面通过一个简单的例子来演示它的用法。

1 #include

2 #include

3

4 int main()

5 {

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

}

else

{

printf("var3 不是字母数字 n", var3 );

}

if( isalnum(var3))

{

printf("var3 是朗母数字 n", var3 );

}

else

{

printf("var2 不是字母数字 n", var2 );

}

if( isalnum(var2))

{

printf("var2 是朗母数字 n", var2 );

}

else

{

printf("var1 不是字母数字 n", var1 );

if( isalnum(var1))

{

printf("var1 是朗母数字 n", var1 );

intvar1='a';

intvar2='8';

intvar3='t';

intvar4='';

34

35

38

39

40

41

42

43

}

if( isalnum(var4))

printf("var4 是朗母数字n", var4 );

37

}

else

{

printf("var4 不是字母数字 n", var4 );

}

44 return(0);

45}

分别定义4个变量,一个字母,一个数字,一个制表符,一个空字符,输出结果如下:

' D:Des kt

Q

pC_testma llcctest. exe

uarl__iai~

号日-

kr2 = i8i

土母数学

夏字

无髯母数字

R

i

;;不正于母数亍挪土曜技术社区

前两个变量返回值为真,后两个变量返回值为假。

isalnum()函数可以同时检测字母或者数字,如果要单独检测字母或者数字的的话,库 函数

中还提供了专门的检测函数isalpha和isdigi,t他们的函数原型如下: 1_CRTIMP int __cdecl

isalpha(int _C);

2_CRTIMP int __cdecl isdigit(int _C);

将上面代码中的函数替换为这两个函数。

1 #include

2 #include

3

4 int main()

5 {

6

7

8

9

10

11

12

13

14

15

}

else

{

printf("var1 不是字母 n", var1 );

if(isalpha(varl))

{

printf("var1 是朗母 n", varl );

intvar1='a';

intvar2='8';

16

17

18

19

20

21

23

24

25

26

27

}

if( isdigit(var2))

{

printf("var2 是数字侦",var2 );

else

{

printf("var2 不是数字 n", var2 );

}

28 return(0);

29}

运行结果如下:

kto pHottest, exe

- .

砂福土掘金技术社区

C语言标准库里面还提供了控制字符检测函数iscntrj

所谓“控制字符”是指那些具有某种特殊功能、不会显示在屏幕上、不会占用字符位置 的特

殊字符。在ASCII码表中,前32个字符就是控制字符。

1^2 = !8i

篡改字

符号▼ 十进制b

C

r i

2

r a

4

r 5 [

6

r ?[

8

BS

r

HT

LF

vr

FF

中文解释-

空字符

NULL

标题开始

正文开始

STX

r

正文结束

传输结束

EOT

ENQ J

r

询问

1

收到通知

ACK

退格

水平制表符

换行销

垂直制表符

换页银

r

回兰键

j

移出

移入

十进制

2

卜 符号"

16

OLE

17

F g [

1C

r ii

12

r 13 [

14

二 二

2C

22

18

23:

24

25:

25

27:

28

DC2

DC4

SYN

CAN

SUB

r~Escn

FS

GS

RS

US

CR

SO

SI

3C

31

「 ]

15

中文解释

4

数据链路转义

r

设备控制】

设备控制2

r

设备控制

3 1

设备控制

4

r

拒绝接收]

同步空阑

传输块结束

取消

r

介质中断]

替换

r

换码符

1

文件分隔符

r

组分隔符]

记录分离符

单元分隔符

@神土画主

控制字符检测函数iscntr原型如下:

1_CRTIMP int __cdecl iscntrl(int _C);

如果c是一个控制字符,则该函数返回非零值,否则返回0。

下面通过一段简单的代码演示它的用法。

1 #include

2 #include

3

4 int main()

5 {

6

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24 return(0);

25}

定义两个字符串,中间有控制字符,然后打印字符串的时候检测字符是否为控制字符, 如果

是控制字符就结束打印。输出结果如下:

D:De-5 ktopC_t estm3

int i = 0, j = 0;

char str2[] = "123 n 456";

/输出字符串,直到控制字符a */

while( !iscntrl(str1[i]))

{

putchar(str1[i]);

i++;

}

/输出字符串,直到控制字符n */

while( !iscntrl(str2[j]))

{

putchar(str2[j]);

j++;

}

回稀土掘金技术社区

同输出结果可以看到只打印了控制符前面的字符。

与控制字符相对的就是可打印字符,可打印字符是指那些会显示在屏幕上、会占用字符 位置

的“普通”字符。在SCII码表中编码32-127的字符都是可打印字符。可打印字符就是 经常用到

的数字、字母、符号等这些在屏幕上可以看见的字符。

本文标签: 字符函数控制字符打印检测