String in Datei finden und ersetzten



  • Hi,

    ich habe gesehen, dass es einige Postings zu ähnlichen Themen gibt. Ich komme trotzdem nicht weiter.

    Ich habe eine Datei, die Konfigurations-Parameter enthält:

    Wert1=1245fgsdfgsdfg345t34
    Noch_ein_Wert=234sdfgdsfg342

    Ich möchte innerhalb dieser Datei die Position einer vorgegebenen Variable (z.B. 'Noch_ein_Wert') finden und den neuen Wert setzten, d.h. alles nach dem Gleichheitszeichen überschreiben.

    Wenn ich das richig verstanden habe muss ich aus der Datei lesen und in die Datei schreiben, also ein Objekt vom Typ fstream erstellen.

    Als nächstes müsste ich die Position der Variablenbezeichnung innerhalb der Datei finden. Ich habe nur seekp() und seekg() gefunden.
    Wie würde man das am besten machen?

    Vielen Dank, KB



  • Ich würde vorschlagen, du liest die komplette Zeile mit getline() ein und suchst dann in dem eingelesenen String nach dem "=" Zeichen (find()) - anschließend kannst du ihn an dieser Stelle zerlegen in Name (substr(0,pos-1)) und Wert (substr(pos+1)).



  • Ich habe einfach die ganze Datei eingelesen und in einen std::string abgelegt. Sache wird ersetzt und der ganze string wieder gespeichert.

    Vielen Dank für den Hinweis, KB


Anmelden zum Antworten