用C语言判断字符是否为空白字符或特殊字符的方法
C语言isspace()函数:判断字符是否为空白字符
头文件:
#include<ctype.h>
定义函数:
intisspace(intc);
函数说明:检查参数c是否为空格字符,也就是判断是否为空格('')、定位字符('\t')、CR('\r')、换行('\n')、垂直定位字符('\v')或翻页('\f')的情况。
返回值:若参数c为空白字符,则返回非0,否则返回0。
附加说明:此为宏定义,非真正函数。
范例:将字符串str[]中内含的空格字符找出,并显示空格字符的ASCII码。
#include<ctype.h> main(){ charstr[]="123c@#FD\tsP[e?\n"; inti; for(i=0;str[i]!=0;i++) if(isspace(str[i])) printf("str[%d]isawhite-spacecharacter:%d\n",i,str[i]); }
执行结果:
str[4]isawhite-spacecharacter:32 str[7]isawhite-spacecharacter:32 str[10]isawhite-spacecharacter:9//\t str[16]isawhite-spacecharacter:10//\t
C语言ispunct()函数:判断字符是否为标点符号或特殊字符
头文件:
#inlude<ctype.h>
ispunct()函数用来检测一个字符是否为标点符号或特殊字符,其原型为:
intispunct(intc);
【参数】c为需要检测的字符。
【返回值】若c为标点符号或特殊符号(非空格、非数字和非英文字母)返回非0值,否则返回0。
注意,此为宏定义,非真正函数。
【实例】列出字符串str中的标点符号或特殊符号。
#include<stdio.h> #include<ctype.h> intmain() { inti=0; intcx=0; charstr[]="Hello,welcome!"; while(str[i]) { if(ispunct(str[i]))cx++; i++; } printf("Sentencecontains%dpunctuationcharacters.\n",cx); return0; }
输出结果:
Sentencecontains2punctuationcharacters.