C++最多读取一个字符或另一个字符

C++ read up to a character or another character

本文关键字:字符 一个 另一个 读取 C++      更新时间:2023-10-16

我想知道是否可以使用

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值。

如果下一个字符不等于delim,则继续读取下一个字符串

相关文章: