文件读取功能

时间:2014-03-24 16:46:50

标签: c++ string file-io vector

我需要编写一个函数来从文件中读取,理想情况下将该文件中的字符串存储到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纯粹是我试图测试它是否有效,但它无法打开文件。

2 个答案:

答案 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以获取最新参考资料。