C++ c++;txt到矢量故障

C++ c++;txt到矢量故障,c++,vector,iterator,C++,Vector,Iterator,无法将文本文件(.txt)读取/获取到vector,尝试了web上的3种方法(编号为0-1-2)。到目前为止得到了单词数(距离算法),文件大小(不包括代码),但没有矢量。请指出我的错误。多谢各位 #include <iostream> #include <vector> #include <fstream> #include <sstream> #include <string> #include <algorithm> #

无法将文本文件(.txt)读取/获取到vector,尝试了web上的3种方法(编号为0-1-2)。到目前为止得到了单词数(距离算法),文件大小(不包括代码),但没有矢量。请指出我的错误。多谢各位

#include <iostream>
#include <vector>
#include <fstream>
#include <sstream>
#include <string>
#include <algorithm>
#include <iterator>


using namespace std;

void intoVector (ifstream  &stream, vector<string> &vector) {
    string s;
    getline (stream, s);
    istringstream iss (s);
    copy(istream_iterator<string>(iss), istream_iterator<string>(), back_inserter(vector));

}

int main(int argc, const char * argv[]) {

    string s1="text.txt";
    ifstream file (s1);

    if (!file) {
        cout<<"Couldn't find file"<<endl; exit(1);
    }else {cout<<"File is found"<<endl;}


    //words count - o.k.
    istream_iterator<string> start(file), end;
    cout<<"Word count: "<<distance(start, end)<<endl;//iterator distance - difference beteween 2 iterators, type ptrdiff_t


    if (!file.is_open()) {
        cout<<"File isn't open"<<endl;
    }


    //0)try
    vector<string> vec1;
    intoVector(file, vec1);
    cout<<vec1.size()<<endl;                            //result- 0


    //1) try1
    vector<string> text1(start, end);
    cout<<"Vector size "<<text1.size()<<endl;        //result - 1, 1st word
    copy(text1.begin(), text1.end(), ostream_iterator<string>(cout, " "));    


    //2)try2
    vector<string> vec2;
    string s2;
    while (getline(file, s2)) {
        vec2.push_back(s2);
    }
    cout<<"vec size   "<<vec2.size()<<endl;       //Result -0
}
#包括
#包括
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
void intoVector(ifstream&stream、vector&vector){
字符串s;
(溪流,s);;
istringstream iss(s);
复制(istream_迭代器(iss)、istream_迭代器()、back_插入器(向量));
}
int main(int argc,const char*argv[]{
字符串s1=“text.txt”;
ifstream文件(s1);
如果(!文件){

cout当我禁用ifstream_迭代器(距离算法)时,所有的方法都能工作。以前必须将文件大小计算作为一个函数(在main之外)进行,因为它与前面提到的迭代器相冲突

寻求调试帮助的问题(“此代码为什么不能工作?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。我的问题。需要逐行获取文本(字符串到向量)或找到逐字迭代文本的方法(为了得到某个数字的字[索引])。当我禁用ifstream_迭代器(距离算法)时,所有方法都有效。以前必须将文件大小计算作为一个函数(在main之外),因为它与提到的迭代器冲突。