2017-01-27 37 views
-8

所以我的問題是如果我有一個字符數組,我只允許在其中輸入字符。如果我輸入字符的整數讓我們假設「abc123」,那麼這不應該被允許。我該怎麼做?當用戶在字符數組中輸入整數值時捕捉異常

+2

遍歷字符串,並使用'的std ::從''到isdigit'檢查數字? –

+0

@GregKikola值得一寫作爲答案。 – user4581301

+0

到目前爲止,您還有什麼需要更新的?請通過此鏈接http://stackoverflow.com/help/how-to-ask – Prasad

回答

0

使用std::none_of,與isdigit一起:

#include <algorithm> 
#include <cctype> 
#include <string> 
#include <iostream> 

int main() 
{ 
    std::string test = "abc123"; 
    if (std::none_of(test.begin(), test.end(), ::isdigit)) 
     std::cout << "All good\n"; 
    else 
     std::cout << "You've entered an integer\n"; 

    // Try with good data 
    test = "abcdef"; 
    if (std::none_of(test.begin(), test.end(), ::isdigit)) 
     std::cout << "All good\n"; 
    else 
     std::cout << "You've entered an integer\n";  
} 

Live Example