1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

C: Datei teilweise überschreiben

    • Frage
  • JohannesBuchner
  • 29. November 2007 um 20:05
  • Unerledigt
  • JohannesBuchner
    7
    JohannesBuchner
    Mitglied
    Punkte
    455
    Beiträge
    90
    • 29. November 2007 um 20:05
    • #1

    Hallo, ich will auch mal was simples fragen:

    Ich möchte in C nur einen Teil einer Datei überschreiben.

    So wie ich mir das vorgestellt habe geht es leider nicht:
    w+ überschreibt nämlich den Teil bis zur gesuchten Position mit Nullen. Ich möchte aber den Teil von offset und (wenn vorhanden) den nach dem Geschriebenen erhalten lassen.
    a kann nur am Ende dazuschreiben so weit ich gelesen habe.

    Ich hab in Google nach 'c rewrite file', 'C overwrite file part', 'C datei teilweise überschreiben', habe aber nicht wirklich was dazu gefunden.

    Also z.B. in einem 10byte großen file das 4. auf 'a' setzen.

    Beschreibung für C++

    Mein Ansatz war:

    Code
    FILE * fp;
        if ( (fp = fopen(filename, "w+")) == NULL ) {
            perror("struct_write: fopen failed");
            return -1;
        }
        if ( fseek(fp, pos, SEEK_SET) == -1 ){
            perror("struct_write: fseek failed");
            return -2;
        }
        if ( fwrite(s, ssize, 1, fp) < 1){
            perror("struct_write: fwrite failed");
            return -3;
        }
        if ( fclose(fp) != 0){
            perror("struct_write: fclose failed");
            return -4;
        }
    Alles anzeigen

    It's like the square root of one million ... no one will ever know.

  • sauzachn
    17
    sauzachn
    Mitglied
    Reaktionen
    51
    Punkte
    3.101
    Beiträge
    606
    • 29. November 2007 um 20:45
    • #2

    Mit "r+" sollte es funktionieren:

    Zitat von manpage von fopen


    r+ Open for reading and writing. The stream is positioned at the beginning of the file.

    Dipper dipper dii dipper dii dipper dii duuu

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung