我想知道如果它可能使用C++讀到一個字符或其它字符
istream& get (char* s, streamsize n, char delim)
讀取到,例如,無論是+ 或 - 。我想的東西就像cin.get(char [],'+'||' - ')的等價物,或者如果有一些聰明的方法可以做到這一點。
我想知道如果它可能使用C++讀到一個字符或其它字符
istream& get (char* s, streamsize n, char delim)
讀取到,例如,無論是+ 或 - 。我想的東西就像cin.get(char [],'+'||' - ')的等價物,或者如果有一些聰明的方法可以做到這一點。
對此沒有標準實用程序,因爲std::getline使用單個分隔符。
但是,可以讀取整個輸入到串(使用std::getline
例如),然後使用std::string::find_first_of
分析它,它接受多個定界符:
搜索的字符串匹配的任何的第一個字符在其參數中指定的字符。
太棒了!這應該工作。非常感謝 –
你可以做的就是使用此代碼:
for (i=0;i <20;i++)
if(!(cin.peek == 43))
{
get (variable);
}
這裏做的事情是,它使用cin.peek(偷窺下一字符),這將返回一個字符的ASCII值。
如果下一個字符不等於分隔符,那麼繼續閱讀下一個字符
您是否試過編寫代碼並運行它? –