首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文件读取功能

文件读取功能
EN

Stack Overflow用户
提问于 2014-03-24 16:46:49
回答 2查看 105关注 0票数 0

我需要编写一个函数从文件中读取,并且理想的情况是将该文件中的字符串存储到vector of strings中。

到目前为止,我有这样的事情:

代码语言:javascript
复制
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纯粹是为了测试它是否正常工作,但是它无法打开文件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-24 16:55:24

理想情况下,将该文件中的字符串存储到字符串向量中。

只需按如下方式扩展您的函数,就可以在向量中收集结果:

代码语言:javascript
复制
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;
    }
}

至于打开文件的问题,这很可能是因为该文件在程序当前工作目录(检查调试设置)中不可用,或者您没有权限访问该文件。

票数 0
EN

Stack Overflow用户

发布于 2014-03-24 16:55:33

你可以定义一个字符串向量。

代码语言:javascript
复制
#include <array>

std::vector<std::string> cars;

// Get your car...
cars.push_back(car);

例如,有关最新的参考资料,请参见这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22615529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档