Datei einlesen mit ifstream



  • Hallo zusammen,

    ich habe folgendes Problem:
    Ich muss eine Datei einlesen (datei.dat) dort stehen double werte drin im folgenden Format:

    0.0
    0.6 0.3
    0.7 0.35
    0.8 0.4
    0.9 0.45

    u.s.w

    Der erste wert ist der X Wert der zweite der Y Wert diese sollen dan in einen Array x und einen Array y gespeichert werden.

    Diese Werte sollen später dann mit der Valarray Klasse bearbeitet werden.
    Ich benötigte dafür einmal die Anzahl der X & Y Werte dies kann man glaub ich mit der Funktion datei.size()herrausbekommen.

    Für das Verständnis:

    Diese Werte sind x und Y Punkte diese stellen eine Verlauf da.
    Der Verlauf ist z.B ein deformiertes Dreieck jetzt muss mit der Valarray Klasse die Fläche berechnet werden.

    Für eure Hilfe wäre ich sehr dankbar.
    Gruss Turbohawk



  • Hallo
    Ich habe im Netz vor einiger Zeit ein gutes Beispiel dazu gefunden
    Und zwar geht es da um eine MFC Anwendung welche aus einer Textdatei jeweils 1 Zahlentupel (X / Y Koordinate) und dieses auf dem BS anzeigt und es verbindet mit dem folgendnen! irgendwie passt es gut zu deinem Beispiel hoffe ich!
    Es stehen in dem Beispiel zwar int werte in der txt, aber das solte ja kein Problem sein!
    Ich hoffe es hilft dir!
    URL:http://home.wtal.de/ranzurmall/visualc/serialo.htm#aa2

    sven



  • Danke !!

    Leider war dies nicht so das richtige, trotzdem danke für deine Hilfe.



  • ifstream i("test.txt");
    string::size_type st_blank;
    char buffer[10];
    strstream convert(buffer,10);;
    vector<pos> v;
    pos p;
    for(string s,s1;getline(i,s);)
    {
    	if((st_blank = s.find(" "))!=string::npos)
    	{
    		s1 = s.substr(0,st_blank);
    		s = s.substr(st_blank);
    		convert << s << ends;
    		convert >> p.x;
    		convert << s1<< ends;
    		convert >> p.y ;
    		v.push_back(p);
    	}
    	else
    	{
    		convert << s<< ends;
    		convert	>>x;
    		v.push_back(p);
    	}
    }
    i.close();
    

    Mir war langweilig 🙄

    Devil


Anmelden zum Antworten