我一直試圖在不同的行上顯示具有6列的2行。我嘗試了不同的方法,其中沒有一個似乎能夠工作。這就是我現在:使用C++中的向量在新行上顯示文本文件的列
void Travel::LoadDest()
{
ifstream file("worlddeals.txt");
vector<vector<string>>data;
if (file) {
string line;
while (getline(file, line)) {
data.push_back(vector<string>());
stringstream split(line);
string value;
while (split >> value)
data.back().push_back(value);
}
}
for (int i = 0; i < data.size(); i++) {
for (int j = 0; j < data[i].size(); j++)
cout << data[i][j] << endl;
cout << '\n';
}
}
在我的.txt我:
5月22日孚[Tab]鍵5 * Gelina村水上樂園[TAB] 2017年5月21日[Tab]鍵盧頓[Tab]鍵10晚[Tab]鍵全部 包
奧爾金[Tab]鍵5 * Paradisus里約熱內盧德奧羅[TAB] 2017年[Tab]鍵曼徹斯特[Tab]鍵10晚[Tab]鍵全部 包
我所要的輸出是什麼:
孚
住宿:5 * Gelina村水上樂園
出發日期:2017年5月21日
出發機場:盧頓
持續時間:10晚
理事會依據:全包
奧爾金
住宿:5 * Paradisus里約熱內盧OroStar
出發日期:曼徹斯特
時間:10夜2017年
出發機場5月22日
點董事會依據:全包
您的字段在文本文件中如何分隔?計算機是否應該知道「水上樂園」是酒店名稱的一部分,而不是日期的一部分?也許你可以查看CSV格式,只是作爲一個例子,或者也許用xml編寫它們? –
我只在每個值之間有選項卡。因此,也許我需要添加到計算機的代碼來查找這些選項卡,並將它們之後的值移動到新行。謝謝,我會看看它。 –
http://stackoverflow.com/questions/11719538/how-to-use-stringstream-to-separate-comma-separated-strings除了用\ r而不是逗號? –