2017-06-05 39 views
-2

所以我有點難以忍受這一點,我正在閱讀包含數據的兩種類型行的文件,它們由一個數字開始,後跟一個逗號。我需要一種方法,以便將具有相同起始數字的行匹配到一行並輸出。我怎麼會開始?在啓動標識符的文本文件中匹配行

+1

/mcve)到目前爲止你所嘗試的,而不是僅僅尋求幫助。有你的聲譽的人應該明白這一點。 –

+0

@ArnavBorborah我沒有要求代碼。如果我暗示這一點,我很抱歉,我甚至會滿足於一個簡單的假想或解釋如何接近它。 – Annabelle

回答

1

我會通過閱讀兩部分中的每一行來完成此操作:逗號前的內容以及後面的內容。

然後,我會有一個map(或unordered_map),其中逗號爲鍵之前的值,其餘爲與其關聯的值。

std::map<std::string, std::string> data; 

std::string key, value; 

while (std::getline(infile, key, ',')) { 
    std::getline(infile, value); 
    data[key] += value; 
} 

然後(大概)你想要寫出來的值:也許通過給予[最小,完整,可驗證的示例](https://stackoverflow.com/help

for (auto const &v : data) 
    std::cout << v.first << ":" << v.second << "\n"; 
+0

這非常有道理。謝謝你的想法! – Annabelle

+0

我認爲你的意思是'v.second',而不是'v.data'? –

+0

@ArnavBorborah:哎呀 - 是的。 –

相關問題