我需要编写一个函数来从文件中读取,理想情况下将该文件中的字符串存储到vector
string
中。
到目前为止,我有这样的事情:
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
纯粹是我试图测试它是否有效,但它无法打开文件。
答案 0 :(得分:0)
理想情况下将该文件中的字符串存储到字符串向量中。
只需按照以下方式扩展您的功能,即可在向量中收集结果:
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;
}
}
至于打开文件时遇到的问题,这很可能是因为程序当前工作目录中没有该文件(检查调试设置),或者您无法访问该文件
答案 1 :(得分:0)
您可以定义字符串向量,例如
#include <array>
std::vector<std::string> cars;
// Get your car...
cars.push_back(car);
例如,请参阅here以获取最新参考资料。