ifstream richtig auslesen
-
Hallo zusammen.
ich programmiere im Rahmen meines Studium eine LDC (LidDrivenCavity)
Dabei speichert das Programm die Geschwindigkeit im (quadratischen) Strömungsfeld in der Datei u.dat wie folgt:FeldSpeichern(u,"u.dat");
mit dem Inhalt:
void FeldSpeichern(double **Feld, char *FileName)
{
int i, j;
ofstream fout;
fout << setiosflags(ios::scientific) << setprecision(13);
fout.open(FileName);
for (j=0;j<=jmax;j++)
{
for (i=0;i<=imax;i++) fout << Feld[i][j] << " ";
fout << "\n";
}
fout.close();
}Nun will ich unter Umständen die Datei wieder einlesen. Dh. beim Start des Programmes das alte Geschwidnigkeitsfeld als Ausgangspunkt nutzen.
Ich weiß aber nicht wie ich die Datei u.dat richtig auslese, sodass sie in das Feld
u[i][j] eingetragen wird.
ich habe mal ganz naiv folgendes gemacht:// u einlesen
fin.open("u.dat");
for(i=0;i<=imax;i++)
{
for(j=0;j<=jmax;j++)
{
fin >> u[i][j]; fin.getline(Zeile,80);
}
}
fin.close();Kam aber nüscht bei rum. Wurde nur ein Wert eingelesen^^
Jemand eine Idee
viel Dank im Voraus
Gruß Nils
-
Ich hab den Code jetzt nicht ausprobiert aber ich meine es sollte funktionieren wenn du das fin.getline(Zeile,80); einfach weglässt.
-
es läuft

nur sind die Daten der Felder um 90° gedreht...
muss vielleicht einfach die schleife umdrehen
mal gucken danke schonaml
-
Du hast die Reihenfolge der Schleife (gegenüber der Ausgabe) auch vertauscht.