簡體   English   中英

如何將文件存儲到包含 c++ 中的 class 對象的向量中?

[英]how to store file into vector containing class objects in c++?

假設一個文件包含

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

我一直在嘗試讀取文件並將其存儲在 class 的向量中。 class 具有對象字符串 Id、字符串名稱、整數年齡、字符串來源、向量 Likes。

該文件應以向量的形式存儲在

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

任何人都可以幫助並告訴我可以使用什么來讀取文件,該文件在隨機位置填充引號和逗號,並以逗號分隔到上面顯示的形式的向量中。 謝謝你

假設您的向量中的對象是 class 用戶。 這里有兩種情況,

  1. 該文件不是由了解User的 c++ 程序編寫的:您應該研究反序列化和序列化。

  2. 我不是由了解User的 c++ 程序編寫的文件:您必須讀取文件並創建 User 類型的對象並將它們添加到向量中。 您可以按照此處所述閱讀文件

  • 初步構建自己的結構體,每個結構體由以上成員變量組成

  • 第二步,了解文件中的數據結構,這樣就可以知道每次可以讀取多少數據,形成一個結構

  • 第三步,讀取文件,用逗號作為分隔符或者別的什么,分割stream得到你需要的。

stuct user_data {
  string Id,
  string name,
  int age,
  string from,
  vector Likes
};

std::vector<user_data> *GetUserDataFromFiles(FILE *file) {
    // spilt string from file 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM