Text in einer Datei ersetzten
-
hi,
ich habe eine Textdatei in der im Text schlüsselwörter der Form :wort: stehen.
Die Datei möchte ich in einen String einlesen, die entsprechenden Wörter durch den Inhalt von Variablen ersetzen und dann den geänderten String ausgeben.
Ich habe leider absolut keine Idee, wie ich das einigermaßen menschlich lösen könnte.
Der einzige Ansatz der mir eingefallen ist, besteht daran zeichen für zeichen jedes entsprechenden Wortes zu ersetzten und wenn das Wort zu ende ist den restlichen String Byte für Byte nach hinten zu verschieben... aber das is ja nicht so das gelbe vom ei.danke schonmal im voraus
Cypher
-
Naja, is doch bloß bizzi Stringgefummel. Du liest die Datei ein, suchst nach dem ersten ':' (per Schleife oder mit ner Funktion aus der Standardlib (z.B. strchr)) und schreibst alles davor in nen zweiten String (erg). Dann schreibst du per sprintf() deinen Variableninhalt in nen neuen String und hängst ihn per strcat an erg an und schreibst gleich danach nen ':' (das steht am besten noch gleich mit im Formatstring von sprintf()) und jetzt geht das SPiel wieder von vorne los: Du suchst nach dem nächsten ':' usw. Am Ende schreibst du den Ergebnisstring erg einfach in die Datei.
-
Vielen, dank werde es sofort ausprobieren.
mfg
Cypher