c++ - 将文件内容存储到C++中的变量中

标签 c++ file variables

我正在开发一个程序,该程序要求我根据文件内容创建哈希表。该文件包含记录(每行 1 个),包括键 (int)、名称 (string)、代码 (int) 和成本 (double)。我已经为大多数程序编写了代码来创建哈希表,但是,我在弄清楚如何从文件加载表时遇到了一些麻烦。更具体地说,如何将每条记录存储到其对应的变量中?

代码有点长,但如果您认为发布它有助于回答我的问题,请告诉我,我很乐意将其包括在内。

我确实觉得我应该包括这个,我有一个结构设置来保存我设置的每条记录中包含的信息,如下所示:

struct record {
        int key;
        string name;
        int code;
        double cost;
}

如果您需要查看代码的任何其他部分或整个代码,请告诉我。

最佳答案

你可以试试这个:

while(_fstream >> key && _fstream >> name && _fstream >> code && _fstream >> cost)
{
    record r;
    r.key = key;
    r.name = name; // and so on
    // now you may do whatever you want to with your r object
}

_fstream 是您打开的输入文件流。


正如@Red Alert 提到的,这将是一个更优雅的解决方案:

while(_fstream >> key >> name >> code >> cost)

因为 _fstream >> key 返回 _fstream 本身;

关于c++ - 将文件内容存储到C++中的变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27241069/

相关文章:

c++ - 如何将链表对象写入文件

variables - 使用 AppleScript 中的变量播放音乐(歌曲专辑或艺术家)

java - 如何更改来自不同类的变量?

c++ - '?:' 的返回类型(三元条件运算符)

c++ - 用 std/boost 算法替换 C++ while 循环

C++:跟踪对数组元素的访问

c++ - 对 C++ 字符串的字符进行排序

python - matplotlib 中的气泡图或热图

excel - 有没有办法避免在多个带有变量的 Subs 中重复相同的代码?

c# - 如何在 C# 中加入两条路径?