2016-04-16 9 views
-1

Ich möchte den Wert entsprechend einem Schlüssel in der Konfigurationsdatei mit cpp ändern. ZB:Ändern einer Konfigurationsdatei

key=value 

hat

key=new_value 

ich mit ‚sed‘ Befehl kann geändert werden, aber gibt es einige mögliche Weg, um es mit cpp Weise zu tun. Die Implementierung schlägt fehl, wenn die zu ändernde Zeichenfolge kleiner als die vorhandene Zeichenfolge ist. Ist das mit cpp nicht wirklich möglich?

+1

Natürlich ist es möglich. Sie schreiben einfach den Code, um es zu tun. 'sed' selbst ist in C geschrieben, und alles, was in C geschrieben werden kann, kann auch in C++ geschrieben werden. –

+0

Das ist möglich, wenn ich den Inhalt in eine andere Datei umschreibe, aber nicht in der gleichen Datei funktioniert – Sathiya

+0

Warum glauben Sie, dass nach dem Schreiben einer anderen Datei diese Datei jetzt in Stein gemeißelt werden muss und nicht umbenannt oder verschoben werden kann, um sie zu ersetzen die ursprüngliche Datei? Wie denkst du, dass 'sed' das tut? –

Antwort

1

Sie haben grundsätzlich nur eine Option: Schreiben Sie die Konfigurationsdatei neu, schreiben Sie alle Konfigurationsoptionen von Anfang an aus.

Versuchen, Inhalte einer Textdatei zu verschieben, wenn eine Zeile die Länge ändert (größer oder kleiner) ist möglich, aber es ist viel mehr Arbeit als nur neu zu schreiben.

Es ist entweder das oder die Arbeitslösung mit sed, die von innerhalb des Programms mit der system Funktion aufgerufen werden kann.

Verwandte Themen