Daten sortieren (im Speicher?)
-
Hi,
ich muss einige Datensätze sortieren und bräuchte euren Rat, wie ich das
am besten anstelle ohne großen Aufwand davon zu betreiben.Ich habe eine Datei, in der je Zeile ein Datensatz steht. Etwa so:
Max Muster;Hansen Weg 17;040/12345;Nordhausen;
Fabian Müller;Baumweg 6a;030/321540909;Lummerland;
Peter Lustig;Dummyhof 19;0040/12345;Klein Hafenland;
Jochen Müller;Rutumweg 61;030/321540909;Klein Lummerland;
Jens Lebig;Kimmyhof 192c;040/12345;Groß Italien;Der Datenbestand ist ca 100 MB groß und wird noch größer...
Nun muss ich alle identischen Einträge nach deren Rufnummer
sortieren. Aber wie stelle ich es am besten an?
Ich muss das irgendwie im Speicher sammelnAm Ende muss ich sogar alle Datensätze einer Gruppe wieder hintereinander
verketten um diesen Teilstring dann weiter zu verwenden und schlußendlich
in meine Ausgabedatei zu packen
-
Spontan würd ichs in eine SQL Datenbank (sqlite wär wohl ideal) hauen.
-
Ich muss leider die CSV-Datei mir einer einfachen MFC-Anwendung ohne jegliche Datenbank zerstückeln.
-
Yogi schrieb:
Ich muss leider die CSV-Datei mir einer einfachen MFC-Anwendung ohne jegliche Datenbank zerstückeln.
Nurmal so hingeschrieben, ich denke an sowas ähnliches.
struct Person{ string name; string strasse; string telefonnummer; string ort; }; bool kleinereName(Person const& a,Person const& b){ return a.name<b.name; } void machmal(){ ifstream in("c:/datei.csv"); Person p; vector<Person> v; while(getline(in,p.name,';') &&getline(in,p.strasse,';') &&getline(in,p.telefonnummer,';') &&getline(in,p.ort,';')) v.push_back(p); sort(v.begin(),v.end(),kleinereName); for(... ausgabe }