File in-/output
-
Hallo Leute, wollte mal fragen, wie ich aus einer eingelesenene Textdatei, mir den inhalt durch die standardausgabe ausgeben lassen kann, i-wie komm ich da nicht ganz durch.
Danke für ne Antwort
-GhostfaceChilla-
-
Ähm, den Inhalt einfach ausgeben? Wo ist das Problem?
-
wenn du es in deinen string gelesen hast , dann einfach ausgabe mit cout
-
std::ifstream file("bla.txt"); copy(std::istream_iterator<char>(file), std::istream_iterator<char>(), std::ostream_iterator<char>(std::cout));
-
dot schrieb:
std::ifstream file("bla.txt"); copy(std::istream_iterator<char>(file), std::istream_iterator<char>(), std::ostream_iterator<char>(std::cout));Warum der Umweg?
std::ifstream file("bla.txt"); std::cout << file.rdbuf();
-
Stimmt, das is noch einfacher...
-
Ok, danke

Und wie könnte ich das nun in einem string speichern??-GhostfaceChilla-
-
std::ifstream file("TEMPD.cxx"); std::string a; std::getline(file, a, '\0'); file.clear();Edit: vielleicht noch
file.seekg(0);Edit²: Was natürlich auch ginge: irgwas mit stringstreams und dem streambuffer von SeppJ. Aber das wäre unnötig

-
Hacker schrieb:
std::ifstream file("TEMPD.cxx"); std::string a; std::getline(file, a, '\0'); file.clear();lol
Hacker schrieb:
Edit: vielleicht noch
file.seekg(0);lol²
Hacker schrieb:
Edit²: Was natürlich auch ginge: irgwas mit stringstreams und dem streambuffer von SeppJ. Aber das wäre unnötig

Im Ernst, das wäre besser.
Noch besser ist allerdings
std::ifstream datei("file"); std::istreambuf_iterator<char> end; std::istreambuf_iterator<char> begin(datei); std::string dieganzedatei(begin, end);
-
-
Danke an euch alle

Hab noch ne Frage und zwar, was genau hat es mit diesem StringStream auf sich??-GhostfaceChilla-
-
GhostfaceChilla schrieb:
Danke an euch alle

Hab noch ne Frage und zwar, was genau hat es mit diesem StringStream auf sich??-GhostfaceChilla-
Ist eigentlich nur eine Art von Outputstream. std::cout (ein Objekt vom Typ std::ostream) schreibt in die Ausgabe, ein std::ofstream in eine Datei und ein std::ostringstream in einen String. Umgekehrt kannst du mit std::cin von der Konsole lesen, mit einem std::ifstream von einer Datei und mit std::stringstream aus einem String. Und wenn weder i noch o vor dem Typ steht, dann kannst du beides machen.