Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 没有STL容器的迭代器_C++_Iterator - Fatal编程技术网

C++ 没有STL容器的迭代器

C++ 没有STL容器的迭代器,c++,iterator,C++,Iterator,起初我对我的英语很抱歉。 我正在准备考试,我需要练习迭代器,迭代器不能用容器。 我想在符号上输入一些符号,如“\n”,但我不知道如何才能这样做。 问题是我无法停止输入符号。 希望你能帮助我。 衷心感谢 #include <iostream> #include <iterator> #include <algorithm> #include <fstream> using namespace std; int main() { ofstre

起初我对我的英语很抱歉。 我正在准备考试,我需要练习迭代器,迭代器不能用容器。 我想在符号上输入一些符号,如“\n”,但我不知道如何才能这样做。 问题是我无法停止输入符号。 希望你能帮助我。 衷心感谢


#include <iostream>
#include <iterator>
#include <algorithm>
#include <fstream>
using namespace std;
int main()
{
    ofstream out("name.txt");
    istream_iterator<char> it(cin);
    istream_iterator<char> end_of_stream;
    ostream_iterator<char> fout(out, " ");
    copy (it, end_of_stream, fout);
}


#包括
#包括
#包括
#包括
使用名称空间std;
int main()
{
流输出(“name.txt”);
istream_迭代器it(cin);
istream_迭代器_流的end_;
ostream_迭代器fout(out,“”);
副本(it,流的结尾,fout);
}

在获得特定值之前(我认为)没有可复制的算法,因此您必须编写自己的循环

像这样

while (it != end_of_stream && *it != '\n')
{
    fout << *it;
    ++it;
}
while(it!=流的结尾&&*it!='\n')
{

在“流结束”之前进行迭代所以你必须提供它。通常你可以使用它。@SimonKraemer问题是OP不想迭代到流的末尾。
我想在符号后面输入一些符号,比如“\n”
@john
问题是我无法停止输入符号。
但可能我误解了这个问题。我之所以这样做是有原因的只是写了一条评论,没有回答。@SimonKraemer,这很公平。我之所以发表评论,是因为这个问题和你们的解释一样,都是重复的。谢谢你们,你们都帮了我这么多!