C++读到一个字符或其它字符
问题描述:
我想知道如果它可能使用C++读到一个字符或其它字符
istream& get (char* s, streamsize n, char delim)
读取到,例如,无论是+ 或 - 。我想的东西就像cin.get(char [],'+'||' - ')的等价物,或者如果有一些聪明的方法可以做到这一点。
答
对此没有标准实用程序,因为std::getline使用单个分隔符。
但是,可以读取整个输入到串(使用std::getline
例如),然后使用std::string::find_first_of
分析它,它接受多个定界符:
搜索的字符串匹配的任何的第一个字符在其参数中指定的字符。
+0
太棒了!这应该工作。非常感谢 –
答
你可以做的就是使用此代码:
for (i=0;i <20;i++)
if(!(cin.peek == 43))
{
get (variable);
}
这里做的事情是,它使用cin.peek(偷窥下一字符),这将返回一个字符的ASCII值。
如果下一个字符不等于分隔符,那么继续阅读下一个字符
您是否试过编写代码并运行它? –