close

ctype 中的字符函数

isalnum()    如果参数为字母数字,则返回ture
isalpha()     如果参数为字母,则返回ture
iscntrl()       如果参数为控制字符,则返回ture
isdigit()       如果参数为数字(0-9),则返回ture
isgraph()     如果参数为空格之外的打印字符,则返回ture
islower()     如果参数是小写字母,则返回ture
isprint()       如果参数为打印字符,包括空格,则返回ture
ispunct()      如果参数为标点符号,则返回ture
isspace()      如果参数为标准空白字符(空格,进纸,换行符,回车,
                   水平制表符,垂直制表符),则返回ture
siupper()      如果参数为大写字母,则返回ture
isxdigit()      如果参数为十六进制数,则返回ture
tolower()     如果参数为大写字母,即转化为小写字母,否则返回原值
toupper()     如果参数为小写字母,即转化为大写字母,否则返回原值

字符串标准函数的原型在头文件string.h中。

1.输入字符串──gets()函数

(1)调用方式:gets(字符数组)

(2)函数功能:从标准输入设备(stdin)──键盘上,读取1个字符串(可以包含空格),并将其存储到字符数组中去



(3)使用说明

1)gets()读取的字符串,其长度没有限制,编程者要保证字符数组有足够大的空间,存放输入的字符串。

2)该函数输入的字符串中允许包含空格,而scanf()函数不允许。

2.输出字符串──puts()函数

(1)调用方式:puts(字符数组)

(2)函数功能:把字符数组中所存放的字符串,输出到标准输出设备中去,并用‘\n’取代字符串的结束标志‘\0’

。所以用puts()函数输出字符串时,不要求另加换行符。

( 3)使用说明

1)字符串中允许包含转义字符,输出时产生一个控制操作。

2)该函数一次只能输出一个字符串,而printf()函数也能用来输出字符串,且一次能输出多个。

3.字符串比较──strcmp()函数

(1)调用方式:strcmp(字符串1 ,字符串2)

其中“字符串”可以是串常量,也可以是1维字符数组。

(2)函数功能:比较两个字符串的大小。

如果:字符串1=字符串2,函数返回值等于0;

字符串1字符串2,函数返回值正整数。

(3)使用说明

1)如果一个字符串是另一个字符串从头开始的子串,则母串为大。

2)不能使用关系运算符“==”来比较两个字符串,只能用strcmp() 函数来处理。

[案例6.7] gets函数和strcmp函数的应用。

/*案例代码文件名:AL6_7.C*/

/*功能:简单密码检测程序*/

#include "stdio.h"

main()

{char pass_str[80]; /*定义字符数组passstr*/

int I=0;

/*检验密码*/

while(1)

{clrscr();

printf("请输入密码\n");

gets(pass_str); /*输入密码*/

if(strcmp(pass_str,“password”)!=0) /*口令错*/

printf("口令错误,按任意键继续");

else

break; /*输入正确的密码,中止循环*/

getch();

I++;

if(I==3) exit(0); /*输入三次错误的密码,退出程序*/

}

/*输入正确密码所进入的程序段*/

}


4.拷贝字符串──strcpy()函数

(1)调用方式:strcpy(字符数组, 字符串)

其中“字符串”可以是串常量,也可以是字符数组。

(2)函数功能:将“字符串”完整地复制到“字符数组”中,字符数组中原有内容被覆盖。

(3)使用说明

1)字符数组必须定义得足够大,以便容纳复制过来的字符串。复制时,连同结束标志'\0'一起复制。

2)不能用赋值运算符“=”将一个字符串直接赋值给一个字符数组,只能用strcpy()函数来处理。

5.连接字符串──strcat()函数

(1)调用方式:strcat(字符数组, 字符串)

(2)函数功能:把“字符串”连接到“字符数组”中的字符串尾端,并存储于“字符数组”中。“字符数组”中原来

的结束标志,被“字符串”的第一个字符覆盖,而“字符串”在操作中未被修改。

(3)使用说明

1)由于没有边界检查,编程者要注意保证“字符数组”定义得足够大,以便容纳连接后的目标字符串;否则,会因

长度不够而产生问题。

2)连接前两个字符串都有结束标志'\0',连接后“字符数组”中存储的字符串的结束标志'\0'被舍弃,只在目标串

的最后保留一个'\0'。

6.求字符串长度──strlen()函数(len是length的缩写)

(1)调用方式:strlen(字符串)

(2)函数功能:求字符串(常量或字符数组)的实际长度(不包含结束标志)。

7.将字符串中大写字母转换成小写──strlwr()函数

(1)调用方式:strlwr(字符串)

(2)函数功能:将字符串中的大写字母转换成小写,其它字符(包括小写字母和非字母字符)不转换。

8.将字符串中小写字母转换成大写──strupr()函数

(1)调用方式:strupr(字符串)

(2)函数功能:将字符串中小写字母转换成大写,其它字符(包括大写字母和非字母字符)不转换。

C语言是通过函数来实现模块化程序设计的。所以较大的C语言应用程序,往往是由多个函数组成的,每个函数分别对应

各自的功能模块。





arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Felix 的頭像
    Felix

    Felix's Second Life 電腦數碼世界

    Felix 發表在 痞客邦 留言(0) 人氣()