Spalten aus CSV-Datei umwandeln und absteigend sortieren
-
Hey Leute,
inzwischen hab ich es alleine geschaft.
Das einizge was jetzt noch fehlt, ist das hier:sscanf(column_content_in_char, "%i;%i;%i;%i;%i;%i;%i;%i;%i;%i;%i", &array_number[0], &array_number[1], &array_number[2], &array_number[3], &array_number[4], &array_number[5], &array_number[6], &array_number[7], &array_number[8], &array_number[9], &array_number[10]);
Damit komm ich noch nicht klar. Ich habe mich sehr lange mit stringstreams beschätigt, komme aber dennoch nicht so ganz klar.
Wie muss ich das in C++ machen?
Mfg Flo
-
for(int i = 0; i < 11; ++i) std::cin >> array[i];
-
FlorianB schrieb:
Wie muss ich das in C++ machen?
Hallo Flo,
so wie es hier steht.
314159265358979 schrieb:
for(int i = 0; i < 11; ++i) std::cin >> array[i];
Du hast die ';' in sscanf(column_content_in_char, "%i;%i;%i;%i;%i;%i;%i;%i;%i;%i;%i", .. übersehen
-
Da hast du Recht, sorry.
-
Schau dir mal stringstreams an. Vorgehen in dem Fall:
- leerer ostrignstream
- in einer Schleife die Nummern, jeweils gefolgt von einem ';' in den Stream
- string aus dem stringstream holen.
Also 1:
#include <sstream>
...
in der main:ostringstream content_from_line;
2:
for(int i = 0; i < 11; ++i)
{
content_from_line << line_content_in_char + ";";
}3:
Wie mach ich das?
Zu zwei noch: warum eigentlich die Nummern gefolgt von einem Komma? In line_content_in_char steht zum Beispiel 85;45;26;496;314; drin! Da muss ich doch nicht noch Kommas einfügen! Das macht doch schon die CSV Datei bzw das wird schon mit Kommas ausgelesen.
Das versteh ich nicht ganz.
MfG Flo
-
FlorianB schrieb:
pumuckl schrieb:
Schau dir mal stringstreams an. Vorgehen in dem Fall:
- leerer ostrignstream
- in einer Schleife die Nummern, jeweils gefolgt von einem ';' in den Stream
- string aus dem stringstream holen.
[...]
Das versteh ich nicht ganz.
Hallo Flo,
darauf sollte Dir besser pumuckl selbst antworten.
FlorianB schrieb:
Das einizge was jetzt noch fehlt, ist das hier:
sscanf(column_content_in_char, "%i;%i;%i;%i;%i;%i;%i;%i;%i;%i;%i", &array_number[0], &array_number[1], &array_number[2], &array_number[3], &array_number[4], &array_number[5], &array_number[6], &array_number[7], &array_number[8], &array_number[9], &array_number[10]);
[...]
Wie muss ich das in C++ machen?auf diese Frage präzisiere ich meine Antwort von vorhin [12:18:51 09.03.2011]: das Code-Segment in meinem Beitrag in den Zeilen 19-27 zeigt, wie man das in C++ machen kann (nicht muss). Wobei Du in Zeile 22 den Wert von 'number' in einem Array/Container unter dem Index 'spalte' abspeichern kannst.
Gruß
Werner