2015-01-04 5 views
-1

У меня есть этот ostringstream, который содержит информацию о папках и файлах, список папок и их информация начинается с «folders:» и заканчивается перед «files:», тогда как список файлов начинается с строки который содержит «файлы:» до конца потока, моя цель состоит в том, чтобы сгенерировать из этого ostringstream два вектора, один для папок, а другой для файлов, внутри этих векторов я хочу использовать карту для каждой папки или файла для хранения Данные по отношению к ним,информация синтаксического анализа из ostringstream

пример: вектор "MyFolders", который содержит 3 элемента типа map<string,string>, внутри этой карте MyFolders [0] [ "ID"] будет возвращать к примеру "109" MyFiles [0] [ «имя»] вернется, например, «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

+0

Я не знаю, какие функции/инструменты помогают мне извлекать информацию из строк, иначе я смогу придумать алгоритм, а затем напишу код – Aminos

+0

, если вы хотите прочитать строку, которую вы можете использовать ['std :: getline'] (http://en.cppreference.com/w/cpp/string/basic_string/getline) – Ankur

ответ

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 и файла, вы можете проверить реализацию и логику по ссылке, приведенной в разделе комментариев.

+0

спасибо, но я предпочитаю использовать строку для id, p_id и т. Д. ... потому что я использую их в HTTP-запросах (проще обрабатывать как строки), иначе , Я знаю, используя векторы с одним типом, например, вектор example; Я не знаю, что тип векторов с myltiple типов – Aminos

+0

Хорошо, я понял, что вы сказали, я попробую его – Aminos

+0

@ Аминоз круто вы можете принять ответ тогда :) – Ankur

Смежные вопросы