如果我想stream_iterator不忽略空格怎么办
How to do if I want stream_iterator not to ignore whitespaces
将 cin 绑定到istream_iterator并读取其后,我没有空格:
iter = istream_iterator<char>(std::cin);
istream_iterator<char> iend;
for(int i=0;i<maxBufferSize;++i)
{
if(iter==iend)
return STREAMBUFFER_EOF;
c = *iter;
buffer += c;
iter++;
}
if(iter==iend)
return STREAMBUFFER_EOF;
return STREAMBUFFER_OK;
有没有办法将其配置为不忽略空格?
如果您的目标是从流中读取无格式的字符数据,则可以改用std::istreambuf_iterator
,而无需更改流的任何格式标志。
std::istreambuf_iterator<char> iter(std::cin), iend;
for(int i=0;i<maxBufferSize;++i)
...
抱歉,
答案非常简单,在将 cin 绑定到迭代器之前,您必须使用操纵器 noskipws:
std::cin>>noskipws;
iter = istream_iterator<char>(std::cin);
现在它正在工作。
相关文章:
- 2D数组来自文本输入,中间有空格
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- 如何在C++中读取空格分隔的输入 当我们不知道输入的数量时
- 如何在c++中使用system()来运行包含空格的python脚本
- basic_string的前导/尾部不区分空格的特征
- 移除前面有空格的前2个字符串
- 如何将以逗号和空格分隔的整数读取到 2D 数组中?
- 如何在 C++ 中从文件中读取字符数组(带有一些空格)
- 如何逐行读取文件,每行中的内容都用空格分隔并将其写入新文件中
- 为什么 c++(g++) 不允许模板返回类型和函数名称之间有空格?
- 用于存储由空格分隔的字符串的 C++/C 数据结构
- 在字符串中插入空格
- C ++中的StringStream有助于使用向量从字符串中提取逗号分隔的整数,而不是空格分隔的整数,为什么?
- 如果我想在没有更新编译器的情况下使用新功能,该怎么办?
- C++为一串单词添加空格
- 使用另一个字符串从字符串中删除空格
- 我还可以添加什么来按空格或空格正确拆分C++字符串?
- 如何打印不带空格的输入整数?
- 野牛/yacc 解析器在不被空格分隔时跳过 grammer - "unexpected $end"
- 如果我想stream_iterator不忽略空格怎么办