Sorry .. noch mal Existenztest :(



  • Hi !

    Sorry wenn das nervt aber ich weiß einfach nicht mehr weiter ....:(
    Gestern hat der Existenztest der Txt Datei noch geklappt aber heute geht sie
    auf einmal nicht mehr 😕
    Weiß auch nicht mehr was ich da geändert hab --_--
    Der Code schaut sauber aus ..und ich finde einfach keine Fehler und irgendwie kann mir bei meinem problem keiner weiter helfen aus dem Grund habe ich noch einen neuen Post eröffnet da der andere schon in vergessenheit geraten ist 😞

    Ich bin für jeden noch so kleinen Hinweis oder Tip dankbar !!!!
    Please Help me 😞

    // main.cpp
    
    #include <iostream>
    #include <string> 
    #include <fstream>
    #include <math.h>
    #include <conio.h>
    #include "Umlaut.h"
    #include "functions.h"
    
    using namespace std;
    using namespace Umlaut;
    
    int main() { 
    
    	int Wert;
    
    	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) {
    
    		  string Satz;
    
              cout << endl << "\nDateiname: " << endl; 
              cin  >> Satz;
    
              ifstream Test; 
    
              Test.open( Satz.c_str(), ios::in | ios::app ); 
    
    	if( !Test ){ 
    
    		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" << endl;
    
    		}
    		else {        // Fortgang des Prozesses wenn Txt-Datei vorhanden ist.
    
    	        cout << "\nDatei zur speicherung ist vorhanden ...." << endl;
    			cout << "\nSie koennen fortfahren!" << endl;
    
    			//speicherung der Daten in die Txt-Datei
    
    			cout << "\nGeben sie nun ihre Notiz ein:" << endl;
    
                string Satz;           // Hier wird eine String- Variable deklariert
                                        // die den eingegebenen Text speichert.
    
                ofstream In("Notizen.txt");   // Datei wird geöffnet.
    
                getline(cin, Satz);        // zum einlesen der Buchstaben mit Leerzeichen
    
                In << Satz << endl;  
    
    			cout << "\nIhre Eingaben wurden gespeichert" << endl;
    
    } 
    
    	}					  
    
    		else if(Wert == 2){
    
    		cout << "\nIhre letzte Notiz:" << endl;
    
            fstream Out("Notizen.txt");
    
            while(!Out.eof()){ 
    
            string Satz;
            getline(Out, Satz);
    
            cout << Satz << endl;
            cout << "\n";
    
    	 }
    }
    
    return 0;
    
    }
    


  • Es ist unhöflich, bei einem Problem einfach einen riesen Batzen Code hinzuknallen und dann noch nicht mal einen Hinweis geben, wo das Problem auftritt. Bei einem Problem sollte versuchen das kürzeste Programm zu posten, was das Problem verdeutlicht.

    wmfrs <-- unbedingt lesen!

    Dein Problem ist die Kombination von ios::in und ios::app. Was sollt das bewirken? Außerdem solltest du explizite Aufrufe von open vermeiden und das lieber über den Konstruktor lösen

    std::ifstream in(datei);
    if(!in) {
    }
    else {
    }
    


  • Außerdem solltest du explizite Aufrufe von open vermeiden und das lieber über den Konstruktor lösen

    ist das jetzt der einfachheit halber oder wie meinst du das... gibts da wirklich gute gründe für open nicht zu verwenden?
    Mir ist bisher keiner bekannt.





  • Windalf schrieb:

    gibts da wirklich gute gründe für open nicht zu verwenden?
    Mir ist bisher keiner bekannt.

    Zumindest gibt es nur sehr selten Gründe, wo man open verwenden müsste. Es ist doch viel sauberer, immer nur gültige Objekte zu haben.

    ifstream in; // Macht meistens keinen Sinn, was soll ich damit?



  • PrOjEcT101 schrieb:

    Ich bin für jeden noch so kleinen Hinweis oder Tip dankbar !!!!

    Dann noch ein anderer Tip. Versuch das Problem erstmal einzugrenzen!! Erstens kommst du dann wahrscheinlich selber auf die Lösung, zweitens brauchst du nicht das komplette Programm hier posten, wo wir dann drin rumstochern sollen.



  • Hi!

    Danke für eure Hinweise .... konnte noch ein kleines problem beseitigen 😉
    naja ich werd mich dann mal ran machen und den Fehler suchen ....
    THX für eure antworten.

    cu



  • ifstream in; // Macht meistens keinen Sinn, was soll ich damit?

    ich hatte da mehr an sowas gedacht das man viele dateien mit dem gleichen stream beschreibt die dann ggf geöffent (und natürlich wieder geschlossen werden)...
    man kann natürlich auch ständig einen neue ifstream allokieren...



  • Windalf schrieb:

    ich hatte da mehr an sowas gedacht das man viele dateien mit dem gleichen stream beschreibt die dann ggf geöffent (und natürlich wieder geschlossen werden)...
    man kann natürlich auch ständig einen neue ifstream allokieren...

    Glaube nicht, dass das ins Gewicht fällt. Der Flaschenhals wäre da eher die Festplatte.



  • Hi!

    So hab das jetzt mit dem Existenztest hinbekommen.
    Nur jetzt hab ich ein neues problem .... jetzt wird zwar der Text in die
    Txt Datei gespeichert aber der Text ist irgendwie unsichtbar. 😕
    Also es wird auf jeden fall etwas gespeichert da die Txt Datei jetzt 1kb groß ist.

    cu



  • PrOjEcT101 schrieb:

    Nur jetzt hab ich ein neues problem .... jetzt wird zwar der Text in die
    Txt Datei gespeichert aber der Text ist irgendwie unsichtbar. 😕

    Rechtsklick auf Daten -> Eigenschaften -> "Invisble text" auf "off" stellen



  • Hi

    wirklich sehr witzig ...... 🙄
    Gibst es hier auch noch mal sinvolle Beiträge?
    🙄

    cu



  • Warum öffnest du die Datei nicht mal in einem Hexeditor und schaust dir an, was eigentlich drinsteht? Könnte die Diagnose erleichtern....



  • Hi!

    Naja ob das wirklich hilft .... ich seh ja jetzt schon , das er das was
    in die Txt speichert. Gab es nicht in Sachen "Dateien und Ströme" nicht die
    Möglichkeit einen Text irgendwie auf eine andere Darstellungsform in die Txt-datei zu speichern !? es gibt doch binär usw ..... ?

    cu


Anmelden zum Antworten