C++ 文件读取功能
我需要编写一个函数来读取文件,理想的情况是将该文件中的字符串存储到C++ 文件读取功能,c++,string,file-io,vector,C++,String,File Io,Vector,我需要编写一个函数来读取文件,理想的情况是将该文件中的字符串存储到字符串的向量中 到目前为止,我有这样的想法: void loadCars() { fstream carFile; string car; carFile.open("car.txt"); if (carFile.is_open()) { while (getline(carFile, car)) { cout << car << "\
字符串的向量中
到目前为止,我有这样的想法:
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;
}
}
void装载车(){
fstream-carFile;
串车;
carFile.open(“car.txt”);
if(carFile.is_open()){
while(getline(carFile,car)){
库特
理想情况下,将该文件中的字符串存储到字符串向量中
只需按如下方式扩展函数,以在向量中收集结果:
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;
}
}
void装载车(标准::向量和结果){
result.clear();
fstream-carFile;
串车;
carFile.open(“car.txt”);
if(carFile.is_open()){
while(getline(carFile,car)){
结果:推回(汽车);
cout您可以定义字符串向量,例如
#include <array>
std::vector<std::string> cars;
// Get your car...
cars.push_back(car);
#包括以供最新参考。您面临的具体问题是什么?程序是否向您回读“无法打开文件”
?如果是,该文件是否在可执行文件的目录中?如果无法打开该文件,则可能是当前工作目录不在您认为的位置。快速执行并将结果目录转储到std::cerr
将有助于您了解“位置”是的。文件权限也可能不允许您打开它,但这有点牵强。最后,如果这是从Visual Studio运行的,则项目文件(.vcprojx)所在的文件夹是调试器启动的默认工作目录。请确保您的文件位于文件夹中。是的,感谢各位的反馈,我在放置文件的位置出错。由于我以前写入文件,它将该文件存储在调试文件夹之外。因此,我将该文件从该文件夹中取出以供读取,但我只是将cars文件放在t中他调试文件夹,它工作很好!谢谢大家!JAMESMILNER考虑接受一个答案,如果这些帮助了你。