从 ostringstream 解析信息

parsing informations from an ostringstream

我有这个 ostringstream,其中包含有关文件夹和文件的信息,文件夹列表及其信息从 "folders:" 开始并在 "files:" 之前结束,而文件列表从以下行开始包含 "files:" 直到流结束,我的目标是从该 ostringstream 生成两个向量,一个用于文件夹,另一个用于文件,在这些向量中我想为每个文件夹或文件使用一个映射来存储与他们相关的信息,

示例:包含 3 个类型 map<string,string> 的向量 "MyFolders",在此映射中 MyFolders[0]["id"] 将 return 例如“109” MyFiles[0]["name"] 会 return 例如 "a_file.jpg"

要解析的 ostringstream 的内容:

folders:
:
id: 109
parent_id: 110
name: first_folder
// other informations about a folder ...
path: /1/105/110/
:
id: 110
parent_id: 103
name: second_folder
// other informations about a file ...
path: /1/105/
files:
:
id: 26
parent_id: 105
name: a_file.jpg
size: 7345
// other informations about a file ...
path: /1/105/
:
id: 69
parent_id: 105
name: another_file.txt
// other informations about a file ...
size: 7345
path: /1/105/

你可以使用 2 个向量,例如

vector<int,int,char*,char*>file and //for saving id,parent id,name and path
vector<int,int,char*,char*>folder

并使用 istream::getline 检查此行是否为 "file" or "folder"

要了解有关 getline 和文件功能的更多信息,您可以从我在评论部分给出的 link 检查实现和逻辑。