Existenztest der Txt-datei ...
-
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