【发布时间】:2015-12-17 22:19:04
【问题描述】:
我想做什么: 我需要在 void main() 中创建 3 个自动对象。 对于每个对象,我都有一个 txt 文件中的信息。
如何获取每个对象的信息(引擎、最大速度...等)。如何在创建第二个对象时跳过阅读“引擎”以及如何跳过整个汽车。谢谢!
txt 文件:(auto.txt)
auto1
engine: gasoline
max_speed: 250
engine_cc: 1980
avg_consumption_urban: 11
avg_speed_urban: 50
avg_consumption: 8
avg_speed: 100
auto2
engine: diesel
max_speed: 230
engine_cc: 1600
avg_consumption_urban: 9
avg_speed_urban: 50
avg_consumption: 6
avg_speed: 80
auto3
engine: hybrid
max_speed: 190
engine_cc: 1450
avg_consumption_urban: 7
avg_speed_urban: 50
avg_consumption: 4
avg_speed: 90
到目前为止我所拥有的(我使用此代码使用更简单的 auto.txt 版本来读取和显示 - 请参阅下面的简单版本的 txt 文件):
这是我在 Auto 类中的 ifstream 方法
friend ifstream& operator>>(ifstream& in, Auto &a)
{
delete[]a.engine;
a.engine = new char[10];
in >> a.engine;
in >> a.max_speed;
in >> a.engine_cc;
in >> a.avg_consumption_urban;
in >> a.avg_speed_urban;
in >> a.avg_consumption;
in >> a.avg_speed;
return in;
}
这就是我在 void main 中读取文件的方式
ifstream f("auto.txt", ios_base::in);
f >> auto1;
auto1.display();
f.close();
这是我读到的文字。这是一个简化版本。
gasoline
250
1980
11
50
8
100
【问题讨论】: