这是我的函数:
void loadfromfile(string fn, vector<string>& file){
int x = 0;
ifstream text(fn.c_str());
while(text.good()){
getline(text, file.at(x));
x++;
}
//cout << fn << endl;
}
我传递的fn的值只是一个文本文件的名称(“10a.txt”)。
我传递的file的值声明如下:
The value of fn that I'm passing in is just the name of a text file ('10a.txt') The value of file that I'm passing in is declared as follows:
vector<string> file1;
我之所以没有定义大小是因为我认为对于向量来说并不需要,它们是动态的……是吗?
这个函数应该读取给定的文本文件,并将每行的全部内容存储到一个单独的向量单元中。
例如,将第一行的内容存储在file.at(0)中, 将第二行的内容存储在file.at(1)中, 以此类推,直到文本文件中没有更多行。
错误信息:
terminate called after throwing an instance of 'std::out_of_range' what(): vector::_M_range_check
我认为while循环中的检查应该可以防止这个错误!
提前感谢您的帮助。