0
我有以下文本文件佈局:C++讀從文件多行成類
人:尤金桑多瓦爾; 26;男
記者
藝術家
人:約翰娜吉布斯; 34;女
馬戲團工人
製片
銀行職員
第一行有關於此人的一些信息,下一行是他或她以前的工作。
這是我做了類:
#pragma once
#include <string>
#include <vector>
class Person
{
public:
Person() {};
~Person() {};
std::string name;
std::string age;
std::string gender;
std::vector<std::string> previousJobs;
friend std::istream& operator >> (std::istream& is, Person& p)
{
std::string line;
std::getline(is, line);
std::istringstream iss(line);
std::getline(iss, p.name, ';');
std::getline(iss, p.age, ';');
std::getline(iss, p.gender, ';');
return is;
}
};
主營:
int main()
{
std::vector<Person> people;
std::ifstream input_file("Resources/data.txt");
Person p
while (input_file >> p)
{
people.push_back(p);
}
getchar();
return 0;
}
到目前爲止我succesfull讀的第一行到對象。但我正在努力閱讀以前的工作向量。
現在,名稱將包含'「person:」'部分。在從流中讀取一行之後,您應該首先檢查此''person:''字符串,在匹配時檢索'name','age'和'gender',然後繼續讀取流中的行以放入向量中你擊中另一個包含「person:」的行。 – Unimportant
在互聯網上搜索「stackoverflow C++讀取文件結構」。已經有很多問題和例子**從文本**文件**讀入**結構**。 –