У меня есть текстовый файл с 200 строками, которые выглядят так:переставить столбцы строк в текстовом файле
1 4:48:08 Orvar Steingrimsson 1979 30 - 39 ara IS200
2 4:52:25 Gudni Pall Palsson 1987 18 - 29 ara IS870
Моего код сортирует эти строки от года рождения каждого участника, а не время, как это происходит в приведенный выше пример. Так что теперь строки сортируются как таковые: (только намного больше линий)
2 4:52:25 Gudni Pall Palsson 1987 18 - 29 ara IS870
1 4:48:08 Orvar Steingrimsson 1979 30 - 39 ara IS200
Мой вопрос, как я могу теперь сделать листинг три вещи: год - имя - время ... так что эти две линии будут выглядеть как это:
1987 Gudni Pall Palsson 4:52:25
1979 Orvar Steingrimsson 4:48:08
Мой код, до сих пор, что сортирует строки в правильном порядке:
#include <iostream> //for basic functions
#include <fstream> //for basic file operations
#include <string> //for string operations
#include <map> //for multimap functions
using namespace std;
int main()
{
ifstream in("laugavegurinn.txt", ios::in);
ofstream out("laugavegurinn2.txt");
string str;
multimap<int, string> datayear; //creates multimap linking each line to year
in.ignore(80);//ignores header of the file - 80 characters - to escape problems with while loop
// while (getline(in,str)) {
// string name = str.substr(18,30);
// string time = str.substr(8,7);
//}
while (getline(in,str)) {
int year = stoi(str.substr(54, 4));
datayear.insert(make_pair(year,str)); //insert function and pairs year and string
}
for (auto v : datayear)
out << v.second << "\n";
in.close();
out.close();
}
Я не могу создать имя и время varibles, а затем добавить их к линии: из << v.first << название << Время << «\ п \; –
Что должно быть третья версия из этого вопроса? Сначала это [это] (http://stackoverflow.com/q/19055100/1870232). Мне интересно, это [XY] (http://meta.stackexchange.com/q/66377/ 232397)? – P0W
Если все строки расположены в одном порядке, вы можете получить каждую отдельную информацию строки с #include stringstream. Упорядочение всей информации может быть возможно с помощью некоторой std :: vector конструкции, а затем вам просто нужно распечатать из-за правильных индексов. У меня возникли проблемы? – Martin