我需要编写一个函数从文件中读取,并且理想的情况是将该文件中的字符串存储到vector of strings中。
到目前为止,我有这样的事情:
void loadCars() {
fstream carFile;
string car;
carFile.open("car.txt");
if (carFile.is_open()) {
while (getline(carFile, car)) {
cout << car << "\n";
}
carFile.close();
} else {
cout << "unable to open file" << endl;
}
}有人能帮我吗,我所需要做的就是从一个包含四个字符串的文本文件中读取:
car1 car2 car3 car4
我想读一读,把它们放在一个理想的向量中。cout纯粹是为了测试它是否正常工作,但是它无法打开文件。
发布于 2014-03-24 16:55:24
理想情况下,将该文件中的字符串存储到字符串向量中。
只需按如下方式扩展您的函数,就可以在向量中收集结果:
void loadCars(std::vector<std::string>& result) {
result.clear();
fstream carFile;
string car;
carFile.open("car.txt");
if (carFile.is_open()) {
while (getline(carFile, car)) {
result.push_back(car);
cout << car << "\n";
}
carFile.close();
}
else {
cout << "unable to open file" << endl;
}
}至于打开文件的问题,这很可能是因为该文件在程序当前工作目录(检查调试设置)中不可用,或者您没有权限访问该文件。
发布于 2014-03-24 16:55:33
你可以定义一个字符串向量。
#include <array>
std::vector<std::string> cars;
// Get your car...
cars.push_back(car);例如,有关最新的参考资料,请参见这里。
https://stackoverflow.com/questions/22615529
复制相似问题