如何在c++中将文件存储到包含类对象的向量中



假设一个文件包含

a123,red,23,Greece,"traveling, in cities", "playing games, like cod"
b245,"ted",45,London,"cars", "Exotic cars, loves Lambo"

我一直在尝试读取该文件并将其存储在类的向量中。该类具有对象string Id、string name、int age、string from、vector Likes。

文件应以的形式存储在矢量中

vector<class> Info = {
{"a123","red",23,"Greece",{"traveling, in cities", "playing games, like cod"},
{"b245","ted",45,"London",{"cars", "Exotic cars, loves Lambo"}}

有人能帮我告诉我我可以用什么来读取文件吗?该文件在随机位置填充了引号和逗号,并以逗号分隔成如上所示的矢量。谢谢

假设向量中的对象属于User类。这里有两种情况,

  1. 该文件不是由了解User的c++程序编写的:你应该研究去串行化和串行化。

  2. 我不是由知道User的c++程序编写的文件:您必须读取文件并创建用户类型的对象,然后将它们添加到向量中。您可以按照这里的描述读取文件

  • 首先,为了构建自己的结构,每个结构都由上述成员变量组成

  • 第二步是了解文件中的数据结构,这样你就可以知道每次可以读取多少数据来形成一个结构

  • 第三步是读取文件,使用逗号作为分隔符或其他内容,拆分流并获得所需内容。

stuct user_data {
string Id,
string name,
int age,
string from,
vector Likes
};
std::vector<user_data> *GetUserDataFromFiles(FILE *file) {
// spilt string from file 
}

最新更新