2013-06-05 70 views
0

所以我所做的是一个字符数组,如“hello world!32 is 32time ...”我需要检查每个位置并确定它是否是键入char int或运算符。我知道我可以用switch语句做这件事,并创建一个根据类型输出数字的函数。然而,我想知道是否有更聪明的方式来做到这一点,最终节省空间和时间。c搜索字符串如果输入字符,int类型,运算符类型

我也知道strchr(数组,字符),但这又似乎很单调乏味。是否有一个函数可以用来输出一个字符是int char还是oper,或者甚至可能是一次检查许多不同的字符。 checkType(array,“abcdefgh ....”)

回答

0

您是否在寻找函数isalnum,isalpha,isascii,isblank,iscntrl,isdigit,isgraph,islower,isprint,ispunct,isspace,isupper,isxdigit?

+0

是的,对不起,我不得不在这里发布,我想我需要改进我的谷歌搜索更好一点。 – victorsh

0

如何像:

char *str = "hello world! 32 is 32time" 
char *c = str; 

while(*c) { 
    if (isalpha(*c)) { 
    /* do something */ 
    } 
    else if (isdigit(*c)) { 
    /* do something */ 
    } 
    else if (ispunct(*c)) { 
    /* do something */ 
    } 
    else { 
    /* do something else */ 
    } 

    c++; 
} 

注意,这里假设你正在处理一个空结尾的字符串退出while循环。

+0

谢谢你这是非常好的 – victorsh

相关问题