Zahlen aus Datei lesen und ich einer Variable speichern
-
Hi ich habe ein Problem und zwar ich will Zahlen (positiv und negativ) aus einer Datei laden die immer durch ein Leerzeichen getrennt sind.
hier ein Bsp:
26.363998 -0.000000 -10.550499
26.363998 0.000000 10.550499
26.363998 -0.000000 -10.550499Die will ich dann immer in einem Double Array speichern. Aber es muss schon die ganze Zahl sein also
double Bla[0]=26.363998
double Bla[1]= - 0.000000
usw.
ich hoffe ihr könnt mir weiter helfen ich habe keine Ahnung wie ich das machen soll und jede Ziffer einzeln speichern will ich nicht
mfg Fabi
-
std::ifstream file_stream("data.dat"); if (!file_stream) return false; std::vector<double> data; std::copy(std::istream_iterator<double>(file_stream), std__istream_iterator<double>(), std::back_inserter(data));und in data stehen alle Daten.
-
Danke für die Antwort
Ich habe noch nie was mit vector<datentyp>... gemacht
bei mir kommt da`vector' is not a member of `std'
und wenn ich oben using namespace std; mache und es dann bei vector weg lasse kommt
`vector' undeclared (first use this function)mfg Fabi
-
Achso ich muss #include <vector> und #include <iterator> einbinden
-
Wie bekomme ich die Daten dann aus data raus?
mfg Fabi
-
Hi,
in der cpp-reference sind die Memberfunktionen von vector aufgeführt....
Hier doch super-easy: data[i] liefert Dir das i. Element....zum Lesen oder schreiben.
Also genauso wie ein Array - aber vector kann halt viel mehr (vA bei der Aadministration").Gruß,
Simon2.
-
Das Problem ist halt ich habe mich noch nicht mit Templates und STL beschäftigt gibt es vielleicht auch noch ne andere Möglichkeit ?
Oder muss ich das wohl oder übel lernen?mfg Fabi
-
Das ist kein übel sondern die komfortabelste Möglichkeit die du hast
Kannst den ganzen Inhalt sogar mit nur 1ner Zeile ausgeben lassen
(s. std::copy + std::ostream_iterator) 
-
Ist das ne Übung? Wenn ja, dann würde sie bei deinem Kenntnissstand vollkommen die Wirkung verlieren, wenn du sie mit std::copy, std::back_inserter und solchen Hilfsmitteln löst.
-
Ok danke mal für eure Antworte ich werde es mal versuchen hin zu bekommen
mfg Fabi
-
Fabi86 schrieb:
Das Problem ist halt ich habe mich noch nicht mit Templates und STL beschäftigt gibt es vielleicht auch noch ne andere Möglichkeit ?
...Du kannst es auch mit Bytefummelei, viel Schweiß und Tränen, 5mal so langem Code, zukünftiger Unwartbarkeit/-übersichtlichkeit und gelegentlichen Bufferoverflows/Speicherlecks im Betrieb programmieren.
Ich würde aber doch lieber die 2 Stunden "Einarbeitung" investieren und dann in 2 Stunden und 5 Minuten fertig sein (bei zukünftigen Projekten dan nur noch die 5 Minuten). :p

Gruß,
Simon2.
-
@sagmal ich beschäftige mich gerade mit OpenGL und daher wollte ich ein .obj File Reader programmieren. Darum ist es mehr oder weniger ne Übung wäre aber schon super wenn das Funktionieren würde.
@Simon2 Ok das ist ein gute Argument ich werde es versuchen zu lernen
mfg