auslesbare Text-Datei speichern
-
Hallo, ich studiere Medieninformatik und habe schon einige Programme in C geschrieben, mit deren Hilfe ich txt-Dateien auslesen (mit fopen Datei öffnen, mit fseek entsprechenden Datensatz suchen und mit fread dann die Daten auslesen) und Daten in Dateien speichern kann (über fwrite). Die auf diese Weise gespeicherten Daten sind jedoch meist kryptisch und mit einer auf diese Weise entstandenen txt-Datei kann man nicht viel anfangen.
Meine Frage ist jetzt, mit was für einer Funktion es möglich ist Daten in eine txt-Datei zu schreiben und das in einer Form, dass man es anschließend auch direkt in der Datei lesen kann.Ich danke vielmals für alle Antworten,
liebe Grüße!
-
* Datei ohne "b"-Flag öffnen (in fopen)
* ASCII-Dateien (und formattiert) schreiben kannst du z.B. mit fprintf, fputc, fputs, ...
--> http://cppreference.com/stdio/index.html schau dir mal einige f* - Funktionen
* Lesen kannst du mit fgets, fscanf, (fgets ist zu bevorzogen, parsen kann man immer noch. siehe denselben obigen Link), fgetc ...
-
Hallo und vielen Dank für deine Antwort, ich werde das gleich mal ausprobieren ...
LG!
-
Hallo,
ich habe nun fprintf verwendet um meine eingelesenen Daten in einer XML-Datei zu speichern. Das funktioniert auch alles super ... mit einer Ausname - alle Umlaute, sie im ursprünglichen Text enthalten sind werden duch kryptische Zeichen ersetzt und führen dann in der XML zu Fehlermeldungen bzw. werden sie einfach weg gelassen. Da ich die Daten aus der XML jedoch weiter verwenden muss, wäre es wichtig, dass der ursprüngliche Text auch unverändert in der Datei ankommt ... hat Jemand eine Idee wie ich das realisieren könnte (wie man z.B. anstelle mit dem ASCII-Code in UTF8 schreiben kann)?
Ich danke euch bereits jetzt vielmals,
liebe Grüße!
-
Hallo, ich habe inzwischen selbst eine Lösung gefunden - nur falls mal Jemand in einer ähnlichen Situation sein sollte hier meine Lösung:
Mein Glück war, dass ich keine normale text-Datei schreiben wollte, sondern eine xml, die man dann über php weiter verarbeiten kann .... da bei xml gleich in der 1. Zeile der Schrift-Standard festgelegt hat, hat es gereicht das ich über
fprintf(fpausg, "<?xml version=\"1.0\" encoding=\"ISO8859-2\"?>\n");
den richtigen Zeichensatz für die xml festgelegt habe. (Latin-2 ging jedoch nicht als Bezeichnung, es muss die ISO-Bezeichnung sein!)
Nun stehen alle Umlaute drin und alles funktioniert bestens.
Noch einen schönen Abend!