2013-06-05 120 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

相關問題