Txt auslesen/einlesen
-
lcp91 schrieb:
So ich habe mal das hier gemacht:
nur beimir wird dann bei file.getline der "." unterstrichen#include <iostream> #include <fstream> #include <string> using namespace std; int main() { int Zahl;//später anlegen, so lokal wie möglich fstream file;//verpönt. gleich mit konstruktorargument bauen file.open("test.txt",ios::in);//doppelt verpönt. ifstream und konstruktor file.getline(Zahl,sizeof(Zahl));//ganz falsch. das wäre hier read(). //warum nicht textformat, also file>>zahl ? file.close;//verpönt, Destruktor macht es auch. Außerdem Klammern vergessen. fstream file;//verpönt file.open("test.txt",ios::out);//dito file << "5" << endl;//endl ist hier schlecht. Es war '\n' gemeint file.close();//verpönt getchar();//lol, auch verpönt. Die IDE hält Dir das Fenster doch offen. return 0;//Nicht nötig. }Ui, ganze Menge. Vielleicht ist das Buch doch nicht top-aktuell.
-
was ist daran falsch:
file.close();//verpönt??
http://www.cplusplus.com/reference/fstream/fstream/close/
-
c2010 schrieb:
was ist daran falsch:
file.close();//verpönt??
http://www.cplusplus.com/reference/fstream/fstream/close/Der Destruktor schließt doch eh. Dazu müßte das Objekt halt fein lokal sein. Oh, das sollte es eh sein. Sich an open/close-Paare zu binden sorgt am Ende nur für Code, der bei Exceptions in arge Bedrängnis kommt, fürchte ich.
-
die Argumente falsch angegeben:
file.getline(Zahl,sizeof(Zahl));//ganz falsch. das wäre hier read().Ansatzweise Löung wäre: http://www.tsql.de/c_plus_plus/cpp_datei_lesen
http://www.tsql.de/c_plus_plus/cpp_datei_schreibenPS: "Nach Room führen mehrere wege!"
-
c2010 schrieb:
die Argumente falsch angegeben:
file.getline(Zahl,sizeof(Zahl));//ganz falsch. das wäre hier read().Ansatzweise Löung wäre: http://www.tsql.de/c_plus_plus/cpp_datei_lesen
http://www.tsql.de/c_plus_plus/cpp_datei_schreibenPS: "Nach Room führen mehrere wege!"
Deine Quellen sind panne.
Und das passende Zitat wäre "Viele Wege führen von Rom weg".
-
c2010 schrieb:
die Argumente falsch angegeben:
file.getline(Zahl,sizeof(Zahl));//ganz falsch. das wäre hier read().Ansatzweise Löung wäre: http://www.tsql.de/c_plus_plus/cpp_datei_lesen
http://www.tsql.de/c_plus_plus/cpp_datei_schreibenPS: "Nach Room führen mehrere wege!"
Nix gut. Informiere dich mal über RAII. RAII und C++ gehen immer Hand in Hand.
-
Und das endl ist immernoch schlecht. Du willst da nicht flushen.
Der Zeilenumbruch heißt '\n'.
-
@out: Danke für den Tipp, werde bei gelegenheit rein schauen...möchte in Zukunft ordentliche Anwendungen schreiben und nicht ressourcen fressende....scheint mir fehlen noch paar kleinigkeiten in "Wissen".
-
Ich habs ehe schon geschafft kann gekolsed wedrden
-
out schrieb:
RAII und C++ gehen immer Hand in Hand.
Naivling.
Du hast noch nicht viel C++ Code gesehen.