Bestehende Datei Editieren in C

elektro2

Cadet 4th Year
Registriert
Feb. 2014
Beiträge
67
Hallo zusammen :)


Ich wollte mal fragen, wie ich ein bestehendes textdokument ( z.B testdokument.txt ), in dem schon irgendwas steht in c editieren kann d.h ich füge mit C z.b einen neuen Satz in das Dokument ein. Wo der eingefügt wird, ist mir erstmal egal :)

habt ihr eine Ahnung?
Danke :)
 
zb am ende der datei:

Code:
// "a" heißt hier, dass an das ende der datei geschrieben wird (append)
FILE *fp = fopen("xyz.txt", "a");
fprintf(fp, "Irgendein Satz.");
fclose(fp);
 
Zuletzt bearbeitet:
hammer danke ! hat geklappt :) Wird sogesehen an der letzte stelle angehängt
Ergänzung ()

jetzt wollte ich noch Fragen, wie ich z.b, wenn ich jetzt in einer textdatei z.b stehen habe " Max Alter 22
Simon Alter 23
sarah 25
Michal 25 "

Alle "Personen" in C rausfiltern kann, die 25 Jahre alt sind und diese dann ausgeben kann :)
Ich weiß nicht, ob es dafür eine funktion gibt, aber vielleicht habt ihr ja eine Ahnung

ich habe sowas wie fseek gefunden
 
Zuletzt bearbeitet:
mit fscanf kann man formatiert einlesen: (zeile für zeile)
Code:
fscanf(fp, "%s Alter %d\n", name, &alter);

des weiteren wäre die logik zb so:

Code:
if (alter == 25) {
    printf("%s\n", name);
}
 
pipi schrieb:
zb am ende der datei:

Code:
// "a" heißt hier, dass an das ende der datei geschrieben wird (append)
FILE *fp = fopen("xyz.txt", "a");
fprintf(fp, "Irgendein Satz.");
fclose(fp);

Den FILE-Pointer hier auf null testen wäre vielleicht noch ganz nett.
 
Einiges wäre nett. Zum beispiel nicht fscanf zu benutzen. Aber wir sind hier nicht OPs persönliche Vorlesung. Finde, das was er bekommen hat, sollte erstmal für weiteres Selbststudium reichen. Erinnert sich noch einer an diesen "Webdesign neben C++ machen" Thread oder "Ein paar Fragen zu C++"? Muss ein paar Jahre her gewesen sein. Die Typen haben jedenfalls solch unnötigen vorauseilenden Gehorsam gnadenlos ausgenutzt, uns für sie Lehrer spielen zu lassen. Und alle haben mitgemacht.
 
Zuletzt bearbeitet:
Zurück
Oben