#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.