Hi c,
hier mal ein Code, der die Anzahl von "test" in der Datei "input_file" sucht. Die Datei "input_file" steht im gleichen Verzeichnis
#include <stdio.h>
main() {
int counter=0;
char buffer[255];
FILE *input_file;
char *dummy;
if ((input_file=fopen("./input_file","r")) == NULL) /* Datei oeffnen, filepointer input_file zeigt auf Datei */
printf("Kann input_file nicht oeffnen !\n");
else {
while (fgets(buffer,255,input_file)) { /* liest eine Zeile von Datei */
/* strstr liefert NULL zurueck, wenn "test" nicht im zu pruefenden String enthalten ist. Zuerst
in buffer suchen, das Ergebnis nach dummy schreiben. In dummy ist jetzt alles ab "test", sofern
das Wort "test" in buffer war. Danach solange nach "test" in dummy (nicht mehr buffer, weil dummy
jetzt der Rest von buffer ist) suchen, bis "test" in der Zeile nicht mehr gefunden wird */
for (dummy=strstr(buffer,"test"); dummy != NULL; dummy=strstr(dummy,"test")) {
(*dummy)++; /* eins weiter gehen, sonst findest strstr immer "test" in dummy */
counter++; /* Anzahl der gefundenen Ergebnisse hochzaehlen */
}
}
fclose(input_file); /* input-Datei schliessen */
printf(""test" erscheint %d mal\n",counter); /* ist klar, oder ? */
}
}
Gruß
Hans