Zeilen ausgeben aus einer Testdatei in c++?

... komplette Frage anzeigen

2 Antworten

Lies mit getline (http://www.cplusplus.com/reference/string/string/getline/) die Datei über eine Schleife aus. Wenn die gewünschte Zeile erreicht wurde, kannst du sie wie gewohnt ausgeben:

cout << line << endl;

Beachte den Fall, dass die Zufallszahl größer sein könnte als die Anzahl der Zeilen in der Datei.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Shooteger
21.02.2017, 17:37

Habs bis jetzt so weit, die Datei heißt pflicht.txt, auch wenn ich den namen richtig eingebe, kommt immer die ausgabe fehler beim öffenen der datei, was ist hier mein fehler? muss ein logikfehler sein. Die Datei hat 18 Zeilen falls es vielleicht irgendwie hilft.

#include <iostream>
#include <fstream>
 
using namespace std;

int get_pflicht()
{
string filename;
cout << "Datei: ";
cin >> filename;
 
ifstream input(filename);
 
if (!input)
{
cerr << "Fehler beim Oeffnen der Datei " << endl;
return 1;
}
 
string line;
 
while (getline(input, line))
{
cout << line << '\n';
}
return 0;
}
0

Ich mcöhte aus einer .txt Datei einfach nur eine Zeile ausgeben. Eine Zahl sollte random in einem bestimmten Bereich eine Zahl ermitteln und dann die Zeile mit dieser Zahl ausgeben. Aber es funiktioniert nicht.

Erklär nochmal bitte.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Shooteger
21.02.2017, 17:37

Habs bis jetzt so weit, die Datei heißt pflicht.txt, auch wenn
ich den namen richtig eingebe, kommt immer die ausgabe fehler beim
öffenen der datei, was ist hier mein fehler? muss ein logikfehler sein.
Die Datei hat 18 Zeilen falls es vielleicht irgendwie hilft.

#include <iostream>
#include <fstream>
 
using namespace std;

int get_pflicht()
{
string filename;
cout << "Datei: ";
cin >> filename;
 
ifstream input(filename);
 
if (!input)
{
cerr << "Fehler beim Oeffnen der Datei " << endl;
return 1;
}
 
string line;
 
while (getline(input, line))
{
cout << line << '\n';
}
return 0;
}
0

Was möchtest Du wissen?