"Schreiben in Datei" funktioniert nicht



  • Hi, wie in der Überschrift schon steht bekomm ich das "Schreiben in Datei" nicht auf die Reihe.

    Hier ist mal der Code:

    #include <fstream>
    
    using namespace::std;
    int V1 = 10, V2 = 20;
    int main()
    {
        ifstream MyFile;
        MyFile.open("c:/test.txt");
        if (MyFile)
        {
             MyFile << V1 << ' ';
             MyFile << setw(4) << V2 << endl;
             MyFile.close();
        }
    }
    

    Es is genau wie im Leerprogramm abgebilder, funktioniert aber nicht.

    Das einzig Andere sind die Variablen Namen.

    Danke im Voraus!

    😃








  • ------
    9/22 Pkte
    => fail.



  • Simon2 schrieb:






    ------
    9/22 Pkte
    => fail.

    no match for 'operator<<' in 'MyFile << V1'

    das ist die Fehlermeldung 😃 Sorry



  • deZombi schrieb:

    Simon2 schrieb:






    ------
    9/22 Pkte
    => fail.

    no match for 'operator<<' in 'MyFile << V1'

    das ist die Fehlermeldung 😃 Sorry

    ifstrem ist nur zum "Input" (einlesen). Du brauchst einen ofstream zum "Output" (Schreiben).

    Gruß,

    Simon2.



  • LOL ...

    Danke! Geht! 😃 ^^ Welche Note hab ich jetzt? Oder muss ich mir die Punkte Notieren und kann mir dann mit 1000 Stück was kaufen?



  • deZombi schrieb:

    LOL ...

    Danke! Geht! 😃 ^^ Welche Note hab ich jetzt? Oder muss ich mir die Punkte Notieren und kann mir dann mit 1000 Stück was kaufen?

    Ab 10.000 Simon2-Punkten bekomsmt Du in diesem Forum einen Thread frei. 😉

    Übrigens:
    1.) Wenn Dein "Leerbuch" 😉 tatsächlich globale (und dämlich benannte) Variablen propagiert, solltest Du Dich evtl. nach Ersatz umsehen. 😃
    2.) fstreams kann man direkt im Konstruktor öffnen und sie werden sowieso beim Zerstören geschlossen.

    #include <fstream> 
    int main()
    {
        int V1 = 10, V2 = 20;
        std::ifstream MyFile("c:/test.txt");
        if (MyFile) MyFile << V1 << ' ' << std::setw(4) << V2 << endl;
    }
    

    So hätte das auch funktioniert...
    ... und eigentlich hätte in diesem Fall sogar nichtmal die if-Abfrage notgetan.

    Gruß,

    Simon2.

    P.S.: Nicht vergessen: Das "abschließende return" darfst Du nur bei main() weglassen (und natürlich bei void-Funktionen).



  • Cool danke, so wird der Code kürzer und übersichtlicher. 😃 Das kann man immer gebrauchen. Vor allem wenn man neu ist und eh kaum durchblick von dem was man da schreibt.

    Gruß Zombi



  • deZombi schrieb:

    ...wenn man neu ist und eh kaum durchblick von dem was man da schreibt.

    Gruß Zombi

    Mach Dir nichts draus: So fängt jeder an.
    Du bist auf dem richtigen Weg.

    Gruß,

    Simon2.


Anmelden zum Antworten