textdatei lesen
-
hi zusammen!
also ich habe folgendes problem:
ich mochte einen text, den ich in ein textdokument geschrieben habe in meinem c++ programm ausgeben können. dazu gibt es zwar etliche anleitungen, aber die sind mir alle zu kompliziert... meine datei die ich auslesen möchte heist "test.txt".könnte mir bitte jemand helfen so ein programm zustande zu bringen?
danke schon mal im vorhinein.
-
Wir können dir helfen, aber etwas mehr Eigeninitiative wäre schön. Versuch doch erstmal selber und wenn es nicht funktioniert fragst du was nicht stimmt. Es ist eigentlich ganz einfach, das schaffst du schon.
Sei dir aber sicher, dass du C++ Methoden benutzt. In deinen Anleitungen sollten Begriffe wie 'ifstream' auftauchen. Sollte stattdessen 'FILE' benutzt werden, hast du eine Anleitung für C erwischt.
-
also bis jetzt habe ich:
#include <fstream>
#include <iostream>
using namespace std;int main()
{
fstream f;
char cstring[256];
f.open("test.txt",ios::in);
while (!f.eof())
{
f.getline(cstring, sizeof(cstring));
cout << cstring << endl;
}
f.close();
}aber das funktioniert irgent wie nicht.....
natürlich hab ich scho geschaut

schon seit fast 2h...
-
Das ist zwar kein guter Stil (schonmal was von std::string gehört?) und die Abbruchbedingung ist falsch (die letzte Zeile wird 2x ausgegeben), aber ansonsten sollte das funktionieren. Was genau meinst du denn mit "funktioniert irgendwie nicht"?
edit: Findet er die Datei test.txt eventuell nicht, weil sie in einem anderen Verzeichnis liegt?
-
es gibt nich das aus, was in der datei stweht, sondern wenn man etwas eingibt und dann enter drückt, giebt es nur das gerade eingegebene aus...
-
OoO nein sorry das war das alte...
dieses gibrt nichts aus und der courser ist immer ganz unten am bildschirm, lässt sich auch nicht abbrechen oder so und zeigt halt einfach nichts an

-
tuni schrieb:
OoO nein sorry das war das alte...
dieses gibrt nichts aus und der courser ist immer ganz unten am bildschirm, lässt sich auch nicht abbrechen oder so und zeigt halt einfach nichts an

Dies deutet darauf hin, dass die Datei nicht geöffnet werden konnte. Dies bedeutet vermutlich, dass es die Datei im aktuellen Pfad der Anwendung nicht gibt.
Benutzt du irgendeine IDE oder startest du dein Programm direkt von einer Konsole aus?
-
weiß nicht...

-
Nach dem öffnen der Datei kannst du prüfen
f.open("test.txt", ios::in); if(f.fail()) { cerr << "File not found" << endl; return 1; }Vielleicht gibt es etwas Aufschluss darüber was rockt.
-
Wobei die Meldung irreführend ist. Ein Fehler open() heißt noch lange nicht, dass die Datei nicht existiert. Stichwort Berechtugungen.