C++ 如果我希望流迭代器不忽略空白,该怎么办
将cin绑定到istream_迭代器并读取其后,我没有空格:C++ 如果我希望流迭代器不忽略空白,该怎么办,c++,istream,C++,Istream,将cin绑定到istream_迭代器并读取其后,我没有空格: 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 = 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;
iter=istream\u迭代器(std::cin);
istream_迭代器iend;
对于(int i=0;i对不起,答案非常简单,在将cin绑定到迭代器之前,您必须使用操纵器noskipws:
std::cin>>noskipws;
iter = istream_iterator<char>(std::cin);
std::cin>>noskipws;
iter=istream_迭代器(std::cin);
现在它开始工作了。对不起,答案很简单,在将cin绑定到迭代器之前,您必须使用操纵器noskipws:
std::cin>>noskipws;
iter = istream_iterator<char>(std::cin);
std::cin>>noskipws;
iter=istream_迭代器(std::cin);
现在它开始工作了。如果您的目标是从流中读取未格式化的字符数据,则可以使用std::istreambuf\u迭代器
,而无需更改流的任何格式标志
std::istreambuf_iterator<char> iter(std::cin), iend;
for(int i=0;i<maxBufferSize;++i)
...
std::istreambuf_迭代器iter(std::cin),iend;
对于(int i=0;i如果您的目标是从流中读取未格式化的字符数据,则可以使用std::istreambuf_迭代器
,而无需更改流的任何格式标志
std::istreambuf_iterator<char> iter(std::cin), iend;
for(int i=0;i<maxBufferSize;++i)
...
std::istreambuf_迭代器iter(std::cin),iend;
对于(int i=0;i