Probleme beim lesen aus datei
-
chrische5 schrieb:
Hallo
Musst du die Datei nicht erst mit:
Ausdatei.open("...");öffnen?
chrische
Nein, das Öffnen geschieht bei der Konstruktion.
Der Fehler liegt hier:
if(ausdatei == false);Da ist ein Semikolon zu viel.
-
immeroch fehlerhaft...
-
keiner noch ne idee??? =(****
-
Moin
habe das grade mal ausprobiert mit DevC++ und bei mir zeigt er das erste Zeichen der Textdatei an.
Hier der Code, der Inhalt der Textdatei hallo.txt und die Ausgabe auf der Konsole:
#include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main(int argc, char *argv[]) { ifstream ausdatei ("hallo.txt"); if(ausdatei == false) { cerr << "dateifehlerhaft\n"; system("PAUSE"); return EXIT_SUCCESS; } char zeichen; zeichen = ausdatei.get(); cout << zeichen; system("PAUSE"); return EXIT_SUCCESS; }Hallo.txt hier ist die zweite Zeile endeHDrücken Sie eine beliebige Taste . . .Muss also an was anderem liegen...
Gruß Chris
-
Hi!
Hast du das Semikolon entfernt? Das war nämlich garantiert der Grund warum deine Fehlermeldung ausgegeben wurde.
Ansonsten ist der Code ja richtig.Nochma:
#include <iostream> #include <fstream> int main( int argc, char **argv ) { std::ifstream stream( "test.txt" ); if ( !stream ) { std::cerr << "Fehler beim oeffnen der Datei\n"; return -1; } char c; while ( !stream.eof() ) { stream >> c; std::cout << c; } return 0; }grüße
-
Ja das Semikolon hatte ich entfernt, habe leider den alten Code hier rein gepostet und kann nicht mehr editieren da ich hier auf Arbeit bin und meine Logindaten nich mehr weiss...
-
*grins habe ja doch den richtigen Code drinne, Mensch die Stunde früher aufstehen ist nicht gesund....
-
Was erwartest du denn von deinem Code? Der öffnet die Datei, liest ein Zeichen und beendet sich wieder. Wenn du den kompletten Dateiinhalt ausgeben willst, benötigst du eine Schleife (siehe David's Beispielcode).
-
Statt:
char c; while ( !stream.eof() ) { stream >> c; std::cout << c; }kann man einfacher schreiben:
std::cout << stream.rdbuf();Tommi
-
CStoll schrieb:
Was erwartest du denn von deinem Code? Der öffnet die Datei, liest ein Zeichen und beendet sich wieder. Wenn du den kompletten Dateiinhalt ausgeben willst, benötigst du eine Schleife (siehe David's Beispielcode).
ich will das er funktioniert, und nicht der cerr anspricht, sprich irgendwo ein fehler ist...
-
ach ich schwachkopf...
anstatt die datei nur nach hallo zu benennen, hatte ich sie ( die textdatei) hallo.txt bennant, somit hatter er hallo.txt.txt gelesen..
