String Suchen und in anderem File ersetzen
-
Hallo
Ich arbeite gerade an einem kleinen Projekt wofür ich C file brauche das mir aus einem File etwas ausliesst und dan in ein anderes schreibt.
Die situation sieht so aus das ich:file1 (altes file)
file2 (neues file)Jetzt soll in file1 nach "set host =" gesucht werden und dan die restlichen zeichen bis zum ende der Linie kopiert werden und bei file zwei dort wo "set host=" steht eingefügt werden.
Jemand eine Idee wie ich das machen könnte
bin da ein bisschen planlos..
-
Datei Ein-Ausgaben: http://www.rrzn.uni-hannover.de/fileadmin/kurse/material/CKurs/c10_DateiIO.pdf
String-Funktionen: http://www.c-howto.de/tutorial-strings-zeichenketten-stringfunktionen.html
-
#define MAXLS 1000 char z[MAXLS],r[MAXLS]=""; FILE *f1,*f2; f1 = fopen("von.txt","rt"); while( !*r && fgets(z,MAXLS,f1) ) if( strstr(z,"set host=") ) strcpy(r,z); fclose(f1); if( *r ) { f1 = fopen("nach.txt","rt"); f2 = fopen("ersetzung.txt","wt"); while( fgets(z,MAXLS,f1) ) fputs( strstr(z,"set host=")?r:z , f2 ); flcose(f2); fclose(f1); }
Da Ersetzungen in Dateien etwas fragil zu handhaben sind, benutzt die o.g. Variante eine Kopie der Zieldatei, in die Ersetzung(en) stattfinden.
Alles ohne Fehlerbehandlung und für exakt den String.