2017-10-19 51 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值。

如果下一个字符不等于分隔符,那么继续阅读下一个字符

相关问题