[c++] txt datei zeilenweise auslesen und in double vector speichern

Q

Quabla

ich glaub der fehler liegt bei der konvertierung von string zu double. jedenfalls werden dem vector mw keine werte zugewiesen. wenn ich das richtig verstanden habe, soll row.data() nen pointer auf row setzen und atof() das ganze dann konvertieren?
errors oder warnungn werden jedenfalls keine angezeigt. ich benutze gcc. danke schonma für die mühen ;)

int automatisch()
{
string row;
ifstream file("~/Desktop/mw.txt");
while(getline(file,row)) mw.push_back(atof(row.data()));
return 0;
}
 
Hm... du solltest das mal durch den Debugger laufen lassen und schauen, ob row überhaupt etwas zugewiesen bekommen hat bzw. ob die Datei geöffnet werden konnte.

Ansonsten müsste mw.push_back(row.c_str()) (ich nehme an mw ist std::vector<double> ?)

Benutze beim nächsten mal bitte die Tags [ code=cpp ]
 
Hi.

Die Datei konnte mit Sicherheit nicht geöffnet werden, da das ~ nur in einer Shell gültig ist und von der Shell automatisch in das Homeverzeichnis des Nutzer umgewandelt wird...

Gruß
 
hallo

danke schonmal für die antworten.

ok mit dem kompletten dateipfad klappt es. aber wo müsste die datei liegen, wenn ich keinen pfad, sondern nur den dateinamen angebe? im gleichen ordner wie das programm?
 
Zurück