【发布时间】:2015-10-27 14:05:52
【问题描述】:
我正在尝试逐行从文件中读取数据并将它们推回向量 数据格式为 123 23 45 19 46 22 87 26 31
程序没有输出,错误代码为 11。
std::vector<int>* readDataFromFile(std::string path){
std::vector<int>* v = new std::vector<int>;
int a, b, c;
std::ifstream inputStream;
inputStream.open(path);
while(inputStream>>a>>b){
v->push_back(a);
v->push_back(b);
v->push_back(c);
}
inputStream.close();
}
int main() {
std::vector<int>* v = readDataFromFile("file1.txt");
for(auto it= v->begin(); it != v->end(); it++){
std::cout<<*it<<std::endl;
}
return 0;
}
【问题讨论】:
-
您确定文件在程序运行的同一目录下吗?
-
是的,它在同一个目录中。
-
你应该检查
inputStream.is_open()。你也永远不会在while(inputStream>>a>>b)中接受c -
您在
readDataFromFile中缺少return语句。 -
那太恶心了,return 语句和 c 做到了。道歉。