假设一个文件包含
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类。这里有两种情况,
-
该文件不是由了解
User
的c++程序编写的:你应该研究去串行化和串行化。 -
我不是由知道
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
}