Existenztest der Txt-datei ...
-
Hi all!
Also ich hab meinen Code dann mal so weit umgeschrieben doch irgendwas stimmt
da noch nicht .....
Es lässt sich zwar Compilieren aber beim Ausführen der exe kommt eine dicke Fehlermeldung. Auf jeden fall stimmt immer noch nicht was mit dem Existenstest ´meiner Txt-datei.
Könnte mir einer da vielleicht noch ein Tip geben wie man das angehen könnte.
Finde da einfach keinen Fehler und ich verstehe auch nicht warum er da meckert.
Währe für hilfe sehr dankbar!... ... ... break; case 3: cout << "\nNotizbuch: Beta1.0" << endl; cout << "----------------------" << endl; cout << "\nOptionen:" << endl; cout << "(1)-- Notiz schreiben" << endl; cout << "(2)-- Notizen öffnen " << endl; cout << "\nGeben sie ihre Option ein:" << endl; //######################################### cin >> Wert; if(Wert == 1) { char Notizen[200]; cout << "\nDateiname:" << endl; cin.getline(Notizen,199,'\n'); ifstream Test(Notizen); if( !Test ){ //Fehlerbehandlung cout << "\nDie von ihnen eingegebene Datei ... " << endl; cout << "\nexistiert leider nicht!" << endl; cout << "\nUm diese Optionen nutzen zu koennen müssen sie" << endl; cout << "\neine neue Txt-datei in dem Programm Ordner erstellen" << endl; } else{ cout << "\nDatei zur speicherung ist vorhanden ...." << endl; cout << "\nSie koennen fortfahren!" << endl; // Hier kommt der Code hin um etwas in die Txt-datei zu schreiben!! } return 0; } else if(Wert == 2){ cout << "\nIhre letzte Notiz:" << endl; fstream Ausgabe("Notizen.txt"); while(!Ausgabe.eof()){ string Satz; getline(Ausgabe, Satz); cout << Satz << endl; cout << "\n"; } } } return 0; }
-
Hallo,
koenntest du bitte die ganzen Leerzeilen etwas reduzieren? Das kann man sich so
nicht ordentlich durchlesen.mfg
v R
-
PrOjEcT101 schrieb:
blabla... aber beim Ausführen der exe kommt eine dicke Fehlermeldung. blabla...
Und WELCHE Fehlermeldung kommt? Hast du mal versucht mit dem Debugger nach dem Problem zu suchen bzw es zu lokalisieren?
-
Hi also ....
der Compiler bzw der debugger zeigt keine Errors und Warnungen an ....
Nur beim Ausführen der exe kommt dieses:**
Debug Assertion Failed!
blablablaFile: fopen.c
Line: 54Expression: *file !=_T('\0')
blablabla
**Hier noch ma ohne Leerzeichen
... ... ... break; case 3: cout << "\nNotizbuch: Beta1.0" << endl; cout << "----------------------" << endl; cout << "\nOptionen:" << endl; cout << "(1)-- Notiz schreiben" << endl; cout << "(2)-- Notizen öffnen " << endl; cout << "\nGeben sie ihre Option ein:" << endl; cin >> Wert; if(Wert == 1) { char Notizen[200]; cout << "\nDateiname:" << endl; cin.getline(Notizen,199,'\n'); ifstream Test(Notizen); if( !Test ){ //Fehlerbehandlung cout << "\nDie von ihnen eingegebene Datei ... " << endl; cout << "\nexistiert leider nicht!" << endl; cout << "\nUm diese Optionen nutzen zu koennen müssen sie" << endl; cout << "\neine neue Txt-datei in dem Programm Ordner erstellen" << endl; } else{ cout << "\nDatei zur speicherung ist vorhanden ...." << endl; cout << "\nSie koennen fortfahren!" << endl; // Hier kommt der Code hin um etwas in die Txt-datei zu schreiben!! } return 0; } else if(Wert == 2){ cout << "\nIhre letzte Notiz:" << endl; fstream Ausgabe("Notizen.txt"); while(!Ausgabe.eof()){ string Satz; getline(Ausgabe, Satz); cout << Satz << endl; cout << "\n"; } } } return 0; }
Also mir sagt diese Meldung echt garnichts .... please help me !
THX and cu
-
PrOjEcT101 schrieb:
Hier noch ma ohne Leerzeichen
guter Witz
1st: benutze doch die c/C++ tags
2nd: warum schreibst du 2^10 mal zu oft cout<<???????
3rd: wie heißt die Droge, die bewirkt, daß du die ganzen Leerzeichennicht siehst??
4th: try this:string Notizen; cout<<endl<<"Dateiname: "<<endl; cin>>Notizen; ifstream Test( Notizen.c_str() );
dat funkt nämlich
-
Wo genau kommt denn der Fehler? Also in welcher Codezeile, die wird dir ja im Debug-Modus angezeigt.
MfG SideWinder
-
//der Fehler kommt bestimmt hier:
cin.getline(Notizen,199,'\n'); //aua aua
ifstream Test(Notizen);FILE * __cdecl _tfsopen ( const _TSCHAR *file, const _TSCHAR *mode ,int shflag ) { REG1 FILE *stream; REG2 FILE *retval; _ASSERTE(file != NULL); _ASSERTE(*file != _T('\0'));//hier knalt's ....
zu umgehen: schon gesagt s.Seite 1
.....
das ist aber auch nicht so ganz sauber hier:
fstream Ausgabe("Notizen.txt");
gib mal eine 'Datenflußrichtung' an;-)
-
freshman schrieb:
//der Fehler kommt bestimmt hier:
cin.getline(Notizen,199,'\n'); //aua aua
ifstream Test(Notizen);FILE * __cdecl _tfsopen ( const _TSCHAR *file, const _TSCHAR *mode ,int shflag ) { REG1 FILE *stream; REG2 FILE *retval; _ASSERTE(file != NULL); _ASSERTE(*file != _T('\0'));//hier knalt's ....
zu umgehen: schon gesagt s.Seite 1
.....
das ist aber auch nicht so ganz sauber hier:
fstream Ausgabe("Notizen.txt");
gib mal eine 'Datenflußrichtung' an;-)Wenn er keine 'Datenflussrichtiung' angibt, funktioniert lesen, wie auch
schreiben. Er muss den Openmode nicht zwangsweise spezifizieren.mfg
v R
-
@vir rel: okay, wußte ich net, aber....
-
juhi ....
Danke für die vielen Beiträge .... werd das gleich mal ausprobieren. THX
@freshman: du keine ahnung wie die heißt .... ich nehm schon soo viele Drogen da kann man auch schon ma den überblick verlieren *G*THX all and cu
-
Hi Leutz....
Ich kann mir gut vorstellen das dieses Tehma langsam echt nervt aber irgendwie will mich C++ verarschen
Nun klappt endlich der Existenztest meiner Txt-Datei aber nun speichert er auf einmal nicht mehr den Text den man eingibt. hat doch vorher auch noch geklappt !???
ich versteh garnichts mehr ........ ... ... break; //####################################### case 2: cout << "\nNotizbuch: Beta1.0" << endl; cout << "----------------------" << endl; cout << "\nOptionen:" << endl; //Menü-Start cout << "(1)-- Notiz schreiben" << endl; cout << "(2)-- Notizen öffnen " << endl; //Menü-Ende cout << "\nGeben sie ihre Option ein:" << endl; //######################################### cin >> Wert; if(Wert == 1) { // clrscr()! // Existenztest der Txt-Datei zur speicherung der Eingaben string Notizen; cout << endl << "\nDateiname: "<< endl; cin >> Notizen; ifstream Test( Notizen.c_str() ); // Existenztst-Ende if( !Test ){ //Fehlerbehandlung wenn datei nicht vorhanden cout << "Die von ihnen eingegebene Datei ... " << endl; cout << "existiert leider nicht!" << endl; cout << "Um diese Optionen nutzen zu koennen müssen sie" << endl; cout << "eine neue Txt-datei in dem Programm Ordner erstellen!" << endl; cout << "\n"; getch(); } else{ // Fortgang des Prozesses wenn Txt-Datei vorhanden ist. cout << "\nDatei zur speicherung ist vorhanden ...." << endl; cout << "\nSie koennen fortfahren!" << endl; // Sleep() // clrscr() //speicherung der Daten in die Txt-Datei cout << "\nGeben sie nun ihre Notiz ein:" << endl; string Notiz; // Hier wird eine String- Variable deklariert // die den eingegebenen Text speichert. ofstream Eingabe("Notizen.txt"); // Datei wird geöffnet. getline(cin, Notiz); // zum einlesen der Buchstaben mit Leerzeichen! Eingabe << Notiz << endl; // Eingabestrom wird verwendet um den Text in die // Txt-Datei "reinzuschieben" cout << "\nIhre Eingaben wurden gespeichert" << endl; getch(); return 0; } } else if(Wert == 2){ // clrscr()! cout << "\nIhre letzte Notiz:" << endl; fstream Ausgabe("Notizen.txt"); while(!Ausgabe.eof()){ string Satz; getline(Ausgabe, Satz); cout << Satz << endl; cout << "\n"; } } } return 0; }
ich versteh das nicht ..... hat doch vorher auch funktioniert
MFG
-
warum hast du denn da so unendlich viele Leerzeilen und blanks in deinem Code -> das siht ja schrecklich aus und läßt sich nicht lesen *Augen reib*
formattiere das doch mal ordentlich!
übrigens: bist du sicher, daß du dir die richtige Datei anguckst?!(inter scriptum: du weißt, daß du die Datei Notitzen.txt jedes mal überschreibst und nicht anfügst, oder??)
warum benutzt du immer getch() *heul*???
und:freshman schrieb:
warum schreibst du 2^10 mal zu oft cout<<???????
-
Hi!
Also jetzt noch ma und ich hoffe dieses mal besser
break; case 2: cout << "\nNotizbuch: Beta1.0" << endl; cout << "----------------------" << endl; cout << "\nOptionen:" << endl; //Menü-Start cout << "(1)-- Notiz schreiben" << endl; cout << "(2)-- Notizen öffnen " << endl; //Menü-Ende cout << "\nGeben sie ihre Option ein:" << endl; cin >> Wert; if(Wert == 1) { string Notizen; cout << endl << "\nDateiname: "<< endl; cin >> Notizen; ifstream Test( Notizen.c_str() ); // Existenztst-Ende if( !Test ){ //Fehlerbehandlung wenn datei nicht vorhanden cout << "Die von ihnen eingegebene Datei ... " << endl; cout << "existiert leider nicht!" << endl; cout << "Um diese Optionen nutzen zu koennen müssen sie" << endl; cout << "eine neue Txt-datei in dem Programm Ordner erstellen!" << endl; cout << "\n"; } else{ // Fortgang des Prozesses wenn Txt-Datei vorhanden ist. cout << "\nDatei zur speicherung ist vorhanden ...." << endl; cout << "\nSie koennen fortfahren!" << endl; cout << "\nGeben sie nun ihre Notiz ein:" << endl; string Notiz; ofstream Eingabe("Notizen.txt"); // Datei wird geöffnet. getline(cin, Notiz); Eingabe << Notiz << endl; cout << "\nIhre Eingaben wurden gespeichert" << endl; return 0; } } else if(Wert == 2){ cout << "\nIhre letzte Notiz:" << endl; fstream Ausgabe("Notizen.txt"); while(!Ausgabe.eof()) { string Satz; getline(Ausgabe, Satz); cout << Satz << endl; cout << "\n"; } } } return 0; }
Also gute frage .... ne das wusste ich nicht das die Datei jedes mal
überschrieben wird. Wie muss man das ändern damit ein neuer Notiz eintrag
an den alten angehängt wird ? z.b block artig1.Eintrag Datum
-------
blablablabla
blablablabla
blablablabla
-------2.Eintrag Datum
-------
blablablablausw ....
aber mein eigendliches prob mit meinem code ist das diesmal überhaubt nix in die Txt-Datei geschrieben wird. Was läuft da wieder falsch !?
Ich bin für alle antworten dankbar!
cu
-
oh man ich hab jetzt mehrmals den Code abgesucht nach Fehlern aber
ich finde einfach nix ....
kann mir keiner bei meinem problem helfen !?
please ..... Hinweise ..... Tips .... bin für jeden Ratschlag dankbar !cu
-
ifstream Test( Notizen.c_str(), ios::in | ios::app );
Mit ios::app wird die Datei so geöffnet, das Daten nicht überschrieben sondern angehangen werden.
-
Hi!
danke für deinen Beitrag !
kann niemand noch irgend einen Fehler endecken !?
hmmm ..... ich geh dann heud abend den Code noch ma durch. ^^cu