txt file einlesen, in neues wieder ausgeben
-
guten morgen
also, ich möchte ein txt file einlesen und von hinten jeweils immer 2 zeilen einlesen, und dann in eine neues txt file schreiben.
wäre nett, wenn ihr mir ein code beispiel geben könnt.
-
Schau dir mal CStdioFile an.
-
das File habe ich geöffnet. Ich kann auch das File zeilenweise einlesen. Nur wie kann ich es von hinten einlesen?
-
Gar nicht?
Arbeite von vorne und merk dir immer die letzte und die aktuelle Zeile.
-
bei mir ist in der txt datei immer 2 zeilen den gleichen anfgang.
zb:
ab 00
cd 00
ab 01
cd 01
ab 02
cd 02
...bis jetzt kann ich die ersten 2 zeilen einlesen, aber wie mache ich es, dass er die nächsten zwei (ab 01, cd 01) einliest? und dass dann bis zum ende?
-
verbesserung:
die cd zeilen ändern sich nicht ständig, es ist unterschiedlich, wenn die sich ändernes kann auch so aussehen:
ab 00
cd 00
ab 01
cd 00
ab 02
cd 01
ab 03
cd 01
ab 04
cd 01
ab 05
cd 02
...
-
Damit ich den Kram jetzt nicht selber basteln muss: Poste mal die Schleife, in der du die Datei zeilenweise einliest.
Ich zeige dir dann, wie ich das mit dem Merken meinte.
-
hab es geschafft
if(m_file = fopen(path, _T("r"))) { while(!feof(m_file)) { line1 = _fgetts(lineGPGGA, 1000, m_file); if(!feof(m_file)) line2 = _fgetts(lineGPVTG, 1000, m_file); } fclose(m_file); }
jetzt hab ich das problem, dass ich dann die letzten zwei zeilen hab, wie schreib ich die dann in ein neues file?
und dann muss ich die vorletzten 2 zeilen, auslesen, wie soll ich das machen? und die dann in das neue file schreiben. usw.
-
Äh, solltest du dir nicht CStdioFile ansehen? Der Code ist ja C.
Na egal, du musst damit arbeiten...Tja, wenn das von immer der selben Datei ist, dann würde ich die doch erstmal in den Speicher ziehen.
Das machst du am einfachsten, indem du sie zeilenweise in ein CStringArray steckt. Da drin kannst du dich dann einfacher "bewegen".Und schreiben geht auch mit CStdioFile - in C kann ich es nicht...
-
das ist C++ code.
kann ich mit CStdioFile ein neues File anlegen? wenn nich, wie dann?
jou, werde es mal mit einem Array versuchen. Und wie genau kann ich mich in den Array bewegen?
-
Hast du eine MSDN? Sonst nimm die online.
Die Klassennamen hast du ja und dann das Unterkapitel class members angucken.Das ist wirklich obereinfach. Ehrlich.
Datei anlegen geht mit nem bestimmten Flag bei CStdioFile::Open.
-
Fetcher schrieb:
das ist C++ code.
kann ich mit CStdioFile ein neues File anlegen? wenn nich, wie dann?
jou, werde es mal mit einem Array versuchen. Und wie genau kann ich mich in den Array bewegen?Schau mal in die C++ FAQ, da steht ein Artikel wie man es in Standard C++ macht,
das was du da gepostet hast, ist C. Mit std::fstream kannst du neue Dateien anlegen
sowie schreiben / lesen.
Falls du noch Zugriff auf das Dateisystem brauchst, schau dir mal boost::filesystem an.Devil
-
Dann sollte ich ihn aber wirklich besser in das passende Forum schieben.
Oder bin ich hier die einzige, die eher die MFC-Methoden nutzt, weil sie einfach sind?
(Ich hab alle drei mal gelernt - aber MFC war das intuitivste...)
-
ja, ich habe eine MSDN
ich habe jetzt das neue file mit fopen erzeugt und "w" als parameter übergeben
und in die datei schreibe ich mit fwrite
-
estartu_de schrieb:
Dann sollte ich ihn aber wirklich besser in das passende Forum schieben.
Oder bin ich hier die einzige, die eher die MFC-Methoden nutzt, weil sie einfach sind?
(Ich hab alle drei mal gelernt - aber MFC war das intuitivste...)Wenn schon dann richtig.
-
devil81 schrieb:
estartu_de schrieb:
Dann sollte ich ihn aber wirklich besser in das passende Forum schieben.
Oder bin ich hier die einzige, die eher die MFC-Methoden nutzt, weil sie einfach sind?
(Ich hab alle drei mal gelernt - aber MFC war das intuitivste...)Wenn schon dann richtig.
Was meinst du?