In Files schreiben - funzt nicht...



  • Keine Ahnung -.- Wie gesagt, ich stand total auf dem Schlauch ...
    Habs jetzt in die APIENTRY reingepackt.
    Thx
    Mfg



  • So jetzt noch eine Frage :

    Wenn ich irgendwas in eine Datei schreiben lasse, dann sieht man die Änderung in der File erst, wenn man sie schließt und wieder öffnet.
    Ist es irgendwie möglich zu realisieren, dass man noch während die Datei offen ist, sieht wie dort sachen reingetippt werden ?



  • ich hab keine ahnung was oder wie du lernst, aber scheinbar falsch. du testest keine rückgabe werte und versuchst nicht mal im ansatz ein gutes programm zu schreiben. in c programmiert man nicht damit etwas läuft, sondern dass es sauber gelöst ist. wenn du dich mit dieser einstellung nicht anfreunden kannst such dir ne andere sprache!



  • Und ich weiß nicht wieso ich etwas SAUBER lösen will wenn ich es nichteinmal IRGENDWIE gelöst habe. SAUBER umsetzen kann ich, nachdem ich erstmal die Grundelemente zum laufengebracht habe, es auchnoch.



  • Felixxx schrieb:

    So jetzt noch eine Frage :

    Wenn ich irgendwas in eine Datei schreiben lasse, dann sieht man die Änderung in der File erst, wenn man sie schließt und wieder öffnet.
    Ist es irgendwie möglich zu realisieren, dass man noch während die Datei offen ist, sieht wie dort sachen reingetippt werden ?

    Wie stellst du dir das vor? Die Datei wird immer in dem Zustand geöffnet, wie sie in dem Moment auf der Festplatte vorhanden war.



  • Felixxx schrieb:

    Und ich weiß nicht wieso ich etwas SAUBER lösen will wenn ich es nichteinmal IRGENDWIE gelöst habe. SAUBER umsetzen kann ich, nachdem ich erstmal die Grundelemente zum laufengebracht habe, es auchnoch.

    wow, schau mal ein komplettes beispiel... nahezu fehlerfrei!
    fopen

    btw. sowas gibts natürlich zu jedem befehl. sollte aber auch in jedem halbwegs guten buch bzw. tut dabei stehen. sogar jw testet bei seinem fopen beispiel auf 0.



  • Ich weiß nicht warum die hier rumtrollst.
    Das geht mir gehörig auf den Sack.

    Wozu zeigst du mir jetzt den Link ?! Das ist so unsinnig, kanns fast schon nicht mehr in Worte fassten. Ich hasse solche Menschen.

    @,,,,
    Hmm Du hast natürlich recht. Schade eigentlich ^^ Trotzdem Danke!



  • ich denke du solltest lieber anal-sex praktizieren... da bleibt uns sicher allen ne menge ärger erspart.



  • Ja. Werd erwachsen, kleiner.



  • Du suchst

    int fflush ( FILE * stream );
    


  • Evtl. sogar

    int setvbuf ( FILE * stream, char * buffer, int mode, size_t size );
    


  • Hey Dirk
    fflush hatte ich schon via google gefunden, aber irgendwie werde ich aus der Beschreibung nicht schlau. Habe es einfach mal in mein Programm reingeschrieben ( unter fputc(charValue,file); ). Hat aber leider irgendwie nichts geändert.



  • Die Ausgabe ist gepuffert, d.h. das nicht sofort in die Datei geschrieben wird sondern erstmal in einen reservierten Speicher (im RAM). Wenn der Puffer voll ist wird dieser dann in die Datei auf der Platte geschrieben.

    fflush schreibt den Puffer auch wenn der noch nicht voll ist.
    fclose macht das natürlich auch.

    Mit setvbuf(... ,mode, ..) kannst du aber auch einstellen, das sofort in die Datei geschrieben wird. Dann ist aber die Festplatte ganz schön am arbeiten.

    Der aufruf von fflush ist aber ziemlich einfach.

    fflush(file);
    

    in deinem Fall.



  • AChsoo 🙂 Okay, vielen Dank !


Anmelden zum Antworten