Zeichen aus einer Datei (txt) löschen



  • Hi,
    es wird in eine Datei geschrieben (.txt) und wenn die Rücktaste (Backspace) gedrückt wird soll das eine Zeichen in der Datei gelöscht werden.

    Inlcude-Datei: stdio.h

    Schreiben mit fputs und fputc

    Will nur wissen wie das Zeichen gelöscht werden kann.

    Danke



  • Wie meinst du das?

    Ist das Zeichen schon geschrieben, wenn der Befehl kommt? Dann musst du es überschreiben.

    Oder noch nicht geschrieben? Dann einfach das Zeichen beim Schreiben überspringen.



  • Aus dem anderen Thread
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-248262.html

    SeekFile (1 zurück) + SetEndOfFile

    So geht es, wenn das Zeichen schon geschrieben war. Wobei das EOF-Setzen nicht notwendig ist, wenn du nachher noch weiter schreibst.



  • Es wird direkt von der Tastatur gelesen und in einer Datei (.txt) gespeichert. Wenn die Rücktaste gedrückt wird soll das letzte Zeichen gelöscht werden.

    So mein ich das 🙂

    Danke



  • Lies die Tasten in einen buffer und parse dann einfach den Buffer und schreibe ihn in die Datei.



  • Es wird direkt von der Tastatur gelesen und in einer Datei (.txt) gespeichert. Wenn die Rücktaste gedrückt wird soll das letzte Zeichen gelöscht werden.

    So mein ich das 🙂

    Ich verstehe. Also irgendeine Nicht-Standard-Funktion, die sich um die Tastendrücke kümmert.

    Das kann man natürlich mit einem Puffer machen. Andererseits verwalten putc() und Verwandte ohnehin ihren eigenen Puffer, und man kann sich gleich auf diesen verlassen.

    Wenn du also wirklich mit putc() die Zeichen einzeln schreibst, und auf "Low-Level-Art" die Tastendrücke holst, dann reicht es, einfach mit man: fseek um eins zurückzuspringen, damit das letzte Zeichen überschrieben wird.


Anmelden zum Antworten