istream_iterator && istream_iteratorbuf

Posted s3320

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了istream_iterator && istream_iteratorbuf相关的知识,希望对你有一定的参考价值。

注意

读字符时, std::istream_iterator 默认跳过空白符(除非用 std::noskipws 或等价物禁用,而 std::istreambuf_iterator 不跳过。另外, std::istreambuf_iterator 更有效率,因为它避免对每个字符构造并析构一次 sentry 对象的开销。

void test_istreambuf_iterator()
{
std::cout << " test istreambuf_iterator : " << std::endl;
std::ifstream inFile{"./test.cpp" };
std::istreambuf_iterator start(inFile), end;
std::ostreambuf_iterator toStdin(std::cout);

while (start != end)
{
	*toStdin++ = *start++;
}

std::cout << std::endl;

}

void test_istream_iterator()
{
std::cout << " test istream_iterator : " << std::endl;
std::ifstream inFile("./test.cpp");
std::istream_iterator start(inFile), end;
std::ostream_iterator toStdin(std::cout);

while (start != end)
{
	*toStdin++ = *start++;
}

std::cout << std::endl;

}

以上是关于istream_iterator && istream_iteratorbuf的主要内容,如果未能解决你的问题,请参考以下文章

为啥在 std::istream_iterator 上使用的 std::find_if 似乎返回最后一个元素?

C++,对自定义的类型用istream_iterator出错!

求教关istream_iterator 与vector 问题

c++之iostream迭代器用法超详细整理!!!

用std::find查找文件流中的内容

0607am抽象类&接口&析构方法&tostring&小知识点