Text einer Textfile anhängen



  • Hi, wie kann ich eine bereits beschriebene Textfile öffnen, und ans ende der Textfile weiter schreiben ?
    Als ich

    FILE* file;
    
    file = fopen("test.txt", "w+");
    
    fseek ( file, 0 , SEEK_END );
    fprintf (file, "%s", "TEST");
    
    fclose(file);
    

    genommen hab, war danach die ganze Txt-File leer und nur das neu geschriebene war ganz oben drinn 😞

    Wie kann ich das verhindern ?

    Gruß Chris



  • Kuckuck !

    Du kannst

    fopen("test.txt", "a+");
    

    benutzen, das hängt dir dann deinen Text an.
    Und das fseek kannst dann auch weglassen.

    Gruß,
    p.



  • Beides Müll. C++ sieht anders aus 😉

    std::ofstream f_stream("output.txt", std::ios::out | std::ios::app);
    if (!f_stream)
        return false;
    
    f_stream << "ICH bin am Ende der Datei :)" << std::endl;
    f_stream.close();
    


  • wieso müll ?!
    FILE - ist in stdio.h definiert, was bedeutet das es standart mäßig zu C++ gehört also ?!

    Danke für die Antworten!

    Gruß



  • Das sind C++ Fetichisten, da kann man nix machen, LOL.



  • Hmm cstdio ... ja da ist das ding Drin ... ist trotzdem eine C Funktion die im Namespace stl sich befindet ...



  • ja ok ... aber funktionieren tut es doch auhc 😃 Oder meckert dein Compiler wenn man C mit C++ vermischt:D

    Trotzdem Danke



  • Foxx90 schrieb:

    ja ok ... aber funktionieren tut es doch auhc 😃 Oder meckert dein Compiler wenn man C mit C++ vermischt:D

    Nein, aber der Compiler meldet halt nur einige Fehler, er meldet nicht, wenn der Code Müll ist. Sowas bräuchten einige Firmen mal ...



  • Nein, aber der Compiler meldet halt nur einige Fehler, er meldet nicht, wenn der Code Müll ist. Sowas bräuchten einige Firmen mal ...

    Komsmte klar 😃 Das ist C was is daran Müll ?

    EIN EINZIGES ARGUMENT reicht schon 😉



  • Foxx90 schrieb:

    Das ist C was is daran Müll ?

    Müll ist, es mit C++ zu mischen. C und C++ verwenden generell unterschiedliche Ansätze, um Probleme zu realisieren. Aus Gründen der Kompatibilität *kann* man die mischen, sollte es aber tunlichst sein lassen.

    Ein Argument: C++ ist mächtiger. C zu verwenden heißt, sich künstlich einzuschränken.

    Irgendjemand in diesem Forum hat da eine sehr passende Signatur: "C-Casts in C++ stinken. Basta." Dieses Zitat gilt auch für den Rest von C in C++.



  • Noch ein Argument das nicht auf persönlicher Meinung basiert ??? 😃



  • Foxx90 schrieb:

    Noch ein Argument das nicht auf persönlicher Meinung basiert ??? 😃

    Sorry, aber das ist *keine* persönliche Meinung. Es ist einfach schlechter Stil zwei unterschiedliche Dinge zu mischen. Dazu passt meine Signatur aus einem anderen Forum:

    “It’s a question of style … Sloppy work tends to be habit-forming.”
    – Silk in Castle of Wizardry by David Eddings.


Anmelden zum Antworten