【发布时间】:2013-09-13 23:37:43
【问题描述】:
这是我的功能:
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') 我传入的文件的值声明如下:
vector<string> file1;
我没有定义大小的原因是因为我认为我不必使用向量,它们是动态的......不是吗?
这个函数应该读取一个给定的文本文件并将每一行的全部内容存储到一个向量单元格中。
例如。将第一行的内容存储到 file.at(0) 将第二行的内容存入 file.at(1) 以此类推,直到文本文件中不再有任何行。
错误:
在抛出 'std::out_of_range' 的实例后调用终止 what(): 向量::_M_range_check
我认为while循环中的检查应该可以防止这个错误!
提前感谢您的帮助。
【问题讨论】:
标签: c++ vector outofrangeexception