vector怎么从txt读取类的数据
时间: 2023-12-08 21:05:59 浏览: 54
假设你的 `vector` 中存储的是 `Person` 类型的数据,可以按照以下步骤从 txt 文件中读取数据:
1. 定义 `Person` 类型:
```cpp
class Person {
public:
std::string name;
int age;
std::string gender;
};
```
2. 打开 txt 文件并读取数据:
```cpp
#include <fstream>
std::vector<Person> people;
std::ifstream infile("people.txt");
std::string line;
while (std::getline(infile, line)) {
Person p;
std::istringstream iss(line);
iss >> p.name >> p.age >> p.gender;
people.push_back(p);
}
```
上述代码中,我们使用 `std::getline()` 函数逐行读取 txt 文件中的数据,并将每一行数据转换为 `Person` 类型的对象。具体来说,我们使用 `std::istringstream` 类来将每一行数据转换为字符串流,然后使用流提取运算符 `>>` 从字符串流中提取出 `Person` 对象的每个成员变量。
假设 txt 文件中的数据格式如下:
```
Alice 25 F
Bob 30 M
Charlie 35 M
```
则上述代码将会将这些数据读入到 `people` 向量中,其中每个元素都是一个 `Person` 对象。
阅读全文