Textdatei ausgeben
-
Also bis zum Zeilenumbruch sollte so aussehen:
ifstream add; vector<string> inhalt1; string temp; add.open("BEISPIEL.txt", ios::binary | ios::in); if(!add) { cout<<"\tFehler - Auf die Datei konnte icht zugegriffen werden,\n\t möglicherweise existiert sie nicht.\n"; } else { while (!add.eof()) { getline(add, temp); inhalt1.push_back(temp); } for (unsigned int i=0; i<inhalt1.size(); i++) { cout << inhalt1[i] << endl; } add.close(); }Das solte dein Problem lösen, denk ich

Ich hoffe ich konnte dir helfen.MFG Snow
-
Hallo
Wolltest du uns jetzt zeigen, wie toll du von Tutorials abschreiben kannst oder was?
Mfg.
way
-
@way Unnötiger Beitrag
Es ist egal wie er hilft.
@Snowfey Wenn du hilfst dann aber bitte richtig, deine Lösung hat eine kleine Unschönheit,man sollte beim lesen von Dateien auf eof() verzichten und anstatt eine derartige Lösung nutzen die deiner fast entspricht.while (getline(add, temp)) { inhalt1.push_back(temp); }EDIT:Warum man auf eof verzichten sollte Danke an Tachyon für den Link, hab mir den mal aus einem deiner Post gemaust

-
way schrieb:
Hallo
Wolltest du uns jetzt zeigen, wie toll du von Tutorials abschreiben kannst oder was?
Mfg.
wayNö, aber so hab ich's in meinem Programm und es funktioniert

MFG Snow
-
Firefighter schrieb:
@way Unnötiger Beitrag
Es ist egal wie er hilft.
@Snowfey Wenn du hilfst dann aber bitte richtig, deine Lösung hat eine kleine Unschönheit,man sollte beim lesen von Dateien auf eof() verzichten und anstatt eine derartige Lösung nutzen die deiner fast entspricht.while (getline(add, temp)) { inhalt1.push_back(temp); }EDIT:Warum man auf eof verzichten sollte Danke an Tachyon für den Link, hab mir den mal aus einem deiner Post gemaust

Okay, dank dir. Ich werd's berücksichtigen

MFG Snow
-
Die einfachste Möglichkeit ist wohl:
std::ifstream reader("file.txt"); std::cout << reader.rdbuf() << '\n';
@way, könntest Du nur einmal was produktives Beitragen?
-
Tachyon schrieb:
Die einfachste Möglichkeit ist wohl:
std::ifstream reader("file.txt"); std::cout << reader.rdbuf() << '\n';
@way, könntest Du nur einmal was produktives Beitragen?
Nö. Der postet selber nur hässlichen C/C++ Mix.
-
Vielen Dank, es geht nun einwandfrei.
-
VinManWin schrieb:
Ich will den Inhalt einer Textdatei, mittels cout, auf die Konsole ausgeben.
yo!
#include <windows.h> #include <stdio.h> int main () { char* file = "test.txt"; char cmd [FILENAME_MAX+6]={0}; sprintf ( cmd, "type %s", file ); system (cmd); return 0; }
-
yo! schrieb:
...
Wir sind hier aber nicht im C-Forum

#include <iostream> #include <fstream> int main() { std::ifstream datei("test.txt"); std::string test_string; while(datei >> test_string) { std::cout << test_string << std::endl; } }Tachyon schrieb:
...
Deine Variante ist natürlich nicht schlecht, aber ich denke mit rdbuf() kannst du nicht auf die einzelnen Zeilen zugreifen, was man in meinem Fall kann.
-
yo!
#include <stdlib.h> int main(void) { system ( "type test.txt" ); return 0; }
-
yo! schrieb:
yo!
#include <stdlib.h> int main(void) { system ( "type test.txt" ); return 0; }
Ist immer noch C.
In C++ wäre der Header<cstdlib>undsystemwäre im Namespacestd.Und zusätzlich sei noch auf diesen FAQ Eintrag verwiesen:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39453.htmlYo Grüssli ...
-
Bin auch noch Anfänger und ich habe das Problem so gelöst:
// DateiLesen.cpp #include <iostream> #include <fstream> using namespace std; int main() { ifstream puffer; string out; puffer.open("DateiLesen.cpp", ios::binary | ios::in); do { getline(puffer,out); cout << out << endl; } while(!puffer.eof()); }
-
FreakY<3Cpp schrieb:
Deine Variante ist natürlich nicht schlecht, aber ich denke mit rdbuf() kannst du nicht auf die einzelnen Zeilen zugreifen, was man in meinem Fall kann.
Nach einzelnen Zeilen wurde aber nicht gefragt.

-
Mal davon abgesehen das seine Lösung, ja auch gar keine Zeilen einliest
Sondern nur solange bis ein Leerzeichen kommt und dann weiter bis zum nächsten.