Wörter suchen und zählen in der Programmiersprache C

2 Antworten

Ein leichtes^^... in "foo.txt" paar Wörter reinschreiben und die needle Variable ist dann dein Suchbegriff. Hab ich jetzt mal auf die schnelle in Xcode erstellt....

#include <stdio.h>
include <string.h> include <stdlib.h>

int main(int argc, const char * argv[]) {

const char * needle = "foo"; //Hiernach wird gesucht
char *s;
const char *start;
int count = 0;
FILE *fp;
ssize_t read;
char *line = NULL;
size_t len = 0;

fp = fopen("foo.txt", "r"); // Dein text file
if (fp == NULL) {
    printf("I couldn't open file.\n");
    exit(0);
}


while ((read = getline(&line, &len, fp)) != -1) {
    start = line;
    while ((s = strstr (start, needle))) {
        start = s + strlen (needle);
        count++;
    }
}
fclose(fp);

printf("Anzahl treffer: %i", count);

return 0;

}

Ich würde zuerst mal die gesamte Datei in ein String-Array und dann in einen einzelnen String speichern...