Inhalt einer Textdatei in eine andere Textdatei speichern



  • Hallo!

    Folgendes Problen:
    Innerhalb einer Funktion soll der Inhalt einer existierende Textdatei ausgelesen werden und in eine neue Datei geschrieben werden.
    Ich habe das mit 'freopen' versucht, erhalte aber ständig eine 'Speicherzugriffsfehler'-Meldung. Kompilieren lässt es sich.
    Der Programmcode sieht etwa so aus:

    int write_int(FILE *fp, const char *section, const char *value, int data, const char *filename_new)
    {
         FILE *fp_new; /* der neue Filezeiger */
         char *string_begin, *string_rest; /* zwei Strings die aus der alten Datei(fp)gelesen werden */
           .
           .
           .
         fp_new = freopen(filename_new, "r+", fp);
           .
           .
           .
         fprintf (fp_new, "%s%d\n%s", string_begin, data, string_rest);
          .
          .
          .
         return (WRITE_SUCCESS);
    }
    

    Es ist nicht der vollständige Programmcode der Funktion, es muss aber an 'freopen' liegen, da beim Auskommtentieren dieses Teils das Programm nicht mit einer Speicherfehlermeldung abbricht. Ach so, nach verlassen dieser Funktion wird von der neuen Datei wieder gelesen.
    Was mache ich eventuell falsch!

    Gruß
    Michael 🕶



  • Hi,

    ist filename_new ein gueltiger Pointer?
    Pruefst du irgendwo, ob das oeffnen der Datei erfolgreich war?

    mfg
    v R


Anmelden zum Antworten