2017-10-19 53 views
0

我想知道如果它可能使用C++讀到一個字符或其它字符

istream& get (char* s, streamsize n, char delim) 

讀取到,例如,無論是+ - 。我想的東西就像cin.get(char [],'+'||' - ')的等價物,或者如果有一些聰明的方法可以做到這一點。

+0

您是否試過編寫代碼並運行它? –

回答

0

對此沒有標準實用程序,因爲std::getline使用單個分隔符。

但是,可以讀取整個輸入到串(使用std::getline例如),然後使用std::string::find_first_of分析它,它接受多個定界符:

搜索的字符串匹配的任何的第一個字符在其參數中指定的字符。

+0

太棒了!這應該工作。非常感謝 –

0

你可以做的就是使用此代碼:

for (i=0;i <20;i++) 
if(!(cin.peek == 43)) 
{ 
    get (variable); 
    } 

這裏做的事情是,它使用cin.peek(偷窺下一字符),這將返回一個字符的ASCII值。

如果下一個字符不等於分隔符,那麼繼續閱讀下一個字符

相關問題