2015-01-04 164 views
-1

我有這個ostringstream包含有關文件夾和文件,文件夾列表和他們的信息的信息從「文件夾:」開始之前結束「文件:」,而文件列表從行啓動包含「文件:」直到流的結尾,我的目標是從該ostringstream生成兩個向量,一個用於文件夾,另一個用於文件,在這些向量中我想使用每個文件夾或文件的映射來存儲信息相對於它們,解析信息

例如:一個載體 「MyFolders」 包含3項map<string,string>類型的,這個地圖內 MyFolders [0] [ 「ID」]將返回例如 「109」 MYFILES [0] [ 「name」]會返回例如「a_fi le.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/ 
+0

而你在哪裏得到的問題?你甚至嘗試過什麼嗎? – Ankur 2015-01-04 14:18:47

+0

我不知道什麼幫助功能/工具,我來提取線信息,否則我將能夠想到的算法,然後如果你想閱讀你可以使用['STD一行寫代碼 – Aminos 2015-01-04 14:21:08

+0

:: getline'(http://en.cppreference.com/w/cpp/string/basic_string/getline) – Ankur 2015-01-04 14:23:15

回答

0

你可以使用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和file函數的信息,您可以查看我在評論部分給出的鏈接中的實現和邏輯。

+0

謝謝你,但我更喜歡使用字符串的ID,p_id的等等......因爲我在HTTP請求中使用它們(容易治療字符串),否則,我知道使用一種類型的向量,例如向量;我不知道有myltiple類型的類型載體 – Aminos 2015-01-04 14:34:42

+0

好吧,我明白你說的,我會嘗試 – Aminos 2015-01-04 14:57:39

+0

@Aminos冷卻可以接受的答案呢:) – Ankur 2015-01-04 15:00:13