Files in einen gemeinsamen Datentyp konvertieren

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Files in einen gemeinsamen Datentyp konvertieren

Beitrag von Mr.Undercover »

Hallo alle zusammen,

Ich wollte zwei verschieden Datentypen bzw. zwei verschiedene Datentypen in einen gemeinsamen Datentyp temporär konvertieren... Damit sie vergleichbar sind und am ende wieder zurück konvertieren....

Könnt ihr mir da da etwas helfen? Wo könnt ihc da anfangen zu schauen ?
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Dazu musst du als allererstes wissen, wie die Dateien strukturiert sind.
Z.B. ob die Informationen in Listenform dargestellt, die einzelnen Werte Komma-separiert, oder am Ende binär kodiert, etc.
Dafür solltest du irgendwo eine Spezfikation deines Formates haben (sonst hat es alles keinen Sinn.)

Auch musst du wissen, ob die beiden Dateien überhaupt vergleichbar sind.
Wenn du eine relationale SQLite-Datenbank mit dem als Excel gespeicherten Einkaufszettel vergleichen willst, hast du ein ziemliches Problem ;)

Sobald du die einzelnen Spezifikationen hast, kannst du anfangen zu strukturieren. Anhand der gewonnenen Infos wirst du dir dann Stück für Stück eine eigene kleine Spezifikation schreiben können.

Wenn du eh nur 2 Formate hast, kannst du dir ja das aussuchen, welches dir am besten gefällt, dann kannst du das andere in dieses Format konvertieren. (Kannst das natürlich auch bei vielen Formaten machen).

Aber das ganze ist sicher nicht so trivial, wie du dir das vllt. vorstellst (außer es sind wirklich einfache Spezifikationen, wo ein Element einfach nur anders heißt (z.B. Statt "Turnschuh" dann "Laufschuh")).
Du willst dir ja dann auch die Unterschiede "mergen" (zusammenführen).
Und du musst dir auch überlegen, wie so ein Unterschied überhaupt darzustellen ist.
Z.B. bei XML wirst du dir bei einem Unterschied am Ende eines Astes den kompletten Ast in den diff reinholen dürfen...

Viel Erfolg
Franz
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Könnt ihr mir da da etwas helfen? Wo könnt ihc da anfangen zu schauen ?
Warum sollten wir dir da helfen können? Du sagst uns weder in diesem Thread noch im vorherigen um welche Datei-Typen es geht.
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Beitrag von Mr.Undercover »

Also, die eine Datei handelt sich um FileA.asc die andere um FileB.lst ...

Wenn ich beide Dateien in txt oder rtf umwandele habe ich folgendes Problem das die Abstände halt von einem zum anderem String mit unterschiedlichen anzahl von leerzeichen sind d.h.:
File A: r123 r231 r343
File B: r123 r231 r342

Also File b hat ein leerzeichen und file b hat mehrere leerzeichen dazwischen...

Was auch noch ne Rolle spielt ist das das vergleichen ab einem bestimmten Keyword beginnen soll!Das heisst einfach, die ersten 100 Zeilen sind irrelevant... ab 101 wo es mit *NET* beginnt wirds interessant :-)
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Dann sollte doch die im anderen Thread gezeigte Lösung (QSet) funktionieren!
Die zusätzlichen Leerzeichen kriegste ruckzuck mit QString::simplified() weg.
(BTW: sind die denn beim zusammenfügen wieder wichtig? Oder kann man sich die schenken...).
Und iterieren über Container + finden in QString steht alles in der Doku.
Antworten