C++从文件中读取数据

C++ read data from files

本文关键字:读取 数据 文件 C++      更新时间:2023-10-16

假设我有一个包含此数据的.txt文件:

1 Lipton 2  
2 CocaCola 2.5  
3 Pepsi 2

每个项目的 ID 都在它之前,价格在它之后。 在我阅读文件并且它有效后,如果我想选择 ID 2 并显示它的价格乘以 2,我该怎么办?

一种方法是将数据存储到std::vector中:

class Drink
{
unsigned int id;
std::string  name;
double       price;
friend std::istream& operator>>(std::istream& input, Drink& d);
};
std::istream& operator>>(std::istream& input, Drink& d)
{
input >> d.id;
input >> d.name;
input >> d.price;
return input;
}

您的输入代码如下所示:

std::ifstream drink_file("drinks.txt");
std::vector<Drink> database;
Drink d;
while (drink_file >> d)
{
database.push_back(d);
}

您可以在database中搜索ID==2的饮料:

size_t quantity = database.size();
for (size_t index = 0; index < quantity; ++index)
{
if (database[index].id == 2)
{
// Do something with record ID 2.
break;
}
}