Datei auslesen und Zeichenkete finden

IM04

Grünschnabel
Datei auslesen und Zeichenkette finden in C

Ich habe eine .txt Datei mit folgendem Inhalt :
aa, bbb, cc;
d, ee, ff;
ggg, h, ii;
Wie kann ich jetzt z.B. in einem Wort cc finden und durch aa und bbb ersetzen ?
Das Programm soll nur zeilenweise abgearbeitet werden.
(aa soll nicht durch d oder ggg und ersetzt werden)
 
Zuletzt bearbeitet:
Versuchs mal mit schleifen!
Sobald das Prog den ersten Buchstaben gefunden hat, prüft es einfach durch eine Schleife die Buchstaben danach und vergleicht!

Ich werd mal schaun, vielleicht kann ich bis morgen ein Beispielprog schreiben!

MfG

Blackvirus

PS: Das mit dem Drüberschreiben dürfte mit fprintf gehen, kommt aber wahrscheinlich auf den öffnungsmodus drauf an, werd ich auch mal nachsehen, falls ich zeit habe
 
Blackvirus hat gesagt.:
Versuchs mal mit schleifen!
Sobald das Prog den ersten Buchstaben gefunden hat, prüft es einfach durch eine Schleife die Buchstaben danach und vergleicht!

Ich werd mal schaun, vielleicht kann ich bis morgen ein Beispielprog schreiben!

MfG

Blackvirus

PS: Das mit dem Drüberschreiben dürfte mit fprintf gehen, kommt aber wahrscheinlich auf den öffnungsmodus drauf an, werd ich auch mal nachsehen, falls ich zeit habe

Ich habe bereits das Grundgerüst. Eventuell kann man darauf aufbauen. Leider gibt es mit
bis jetzt nur die Datei mit allen , ; und Leerzeichen so aus wie es in der Datei steht.
Code:
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include "mylib.h" 

char zeilenzeiger(char *v,int o) { 



int i;

char z[20];

int f=0;

for (i=0;v[i]!='\n';i++)

z[i]=v[i];

for(i=0;i<8;i++)

printf("%c",z[i]);

}

void main (){ 



char r[128]=("datei.txt");

char reform[128];

int c;

int i=0;

FILE *fp;

if((fp=fopen(r,"r+"))==0) {

printf("Datei nicht gefunden");

}

while ((c=fgetc(fp))!=EOF){ 

reform[i]=c;

i++;

}

reform[i]='\0';

ausgabe(reform,i); 

fclose (fp);

fflush (stdin);

getchar();

}

 

"mylib.h" :

 

void ausgabe(char *,int);//für Vektoren

void ersetz(char *v,int o);

void ausgabe(char *v,int o){ 

int i;

printf("%s",v);

printf("\n\n");

}

void ersetz(char *v,int o) { int i;

for (i=0;v<o;i++) {

if ((v[i]==',')||(v[i]==';'))

v[i]='\0';

}

}
 
Zurück