Daten in Datei schreiben (anhängend)
-
hi
kann mir jemand sagen wie ich daten in eine datei schreiben kann in der schon etwas steht
also sachen dazufügenaußerdem würd mich interessieren ob man daten von einer datei auch irgendwie einlesen kann wenn 2-3 leerzeichen dazwischen sind (fscanf geht ja nur bis zum nächsten leerzeichen/zeilenumbruch)
-
mit a oder a+ öffnen
FILE *fp=fopen("text.txt","a"); //oder a+
einlesen geht problemlos, kannst da ein beliebiges trennzeichen zwischenpacken... egal ob tabulator, leerzeichen, semikolon....
-
Wenn deine Datei Zeilenorientiert ist bietet sich fgets an.
sonst bleibt nur fread übrig
-
Hi,
fread ist aber für Binärdateien, oder geht das auch sinnvoll bei txt?
-
@plc_tippser
klar, geht auch.
du liest halt eine vorher von dir festgelegt anzahl von zeichen einfach in einen buffer und verarbeitest die danach weiter...
musst du ja auch machen wenn du fgets verwendest
mit dem unterschied wenn du ne zeilenorintierte textdatei hast und du die maxmiale zeilenlänge kennst das parsen doch stark vereinfacht ist...
-
Was unterscheidet ASCII-Textdateien von binaerdateien.
Nichts, denn in Textdateien wird eigentlich nur ein Subset der Codes von 0x00 bis 0xff verwendet.
somit kann man fread natürlich verwenden.Die Bearbeitung des gelesenen Blocks von Bytes ist dann allerdings aufwendiger.
Man bekommt zum beispiel probleme wenn ein Inhalt über eine Blockgrenze hinwegeht.
Aber es gibt immer wieder Stellen wo diese sehr sinnvoll sein kann.