【发布时间】:2017-10-17 23:36:11
【问题描述】:
我有一个记录用逗号分隔的文件:
city.txt:
1,NYC
2,ABQ
...
我想遍历每一行:ID 和名称。我已经创建了代码:
#include <iostream>
#include <string>
using namespace std;
class City {
int id;
string name;
public:
City() {}
City(int id, int name)
{
this->id = id;
this->name = name;
}
void load_file()
{
ifstream v_file("cities.txt");
if (v_file.is_open()) {
while (!v_file.eof()) {
//...
}
}
v_file.close();
}
}
int main()
{
City array_city[1000];
array_city.load_file();
return 0;
}
您能告诉我如何将所有行加载到数组array_city 并对其进行迭代吗?我不知道在load_file 方法中的while 块中放置什么。我不知道天气,方法load_file应该有void类型。不幸的是,我必须在数组上这样做。
【问题讨论】:
-
你不应该自己做作业吗?
-
数组不是类,它们不能有方法。您需要从加载函数返回数组,可能使用
std::vector -
@manni66 在作业问题上有rules,它们并不是完全禁止的。也就是说,OP应该澄清这是一项任务,如果它是
-
弄清楚如何逐行读取文件。谷歌是你的朋友。然后弄清楚你接下来要做什么。
-
两件事:1)不要关闭你自己的文件,依靠RAII为你做。 2) 看看stackoverflow.com/questions/5605125/…