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

Hallo, Wir müssen als Aufgabe ein Programm in der Programmiersprache C schreiben, dass von einem Textdokument mit beliebigen Inhalt ein Bestimmtes Wort oder einen Bestimmten Buchstaben in einem Wort sucht und zählt wie viele gleiche Wörter bzw gleiche Buchstabenfolge hintereinander in diesem Textdokument sind. Ich habe da schon einen Anfang gemacht, der allerdings nur ein Wort in einer Zeile zählt und dann einfach in die nächste geht:

include <stdio.h> include <conio.h> include <string.h> include <stdlib.h> include <time.h>

char *self_strstr(char *text,char *suche);

int main(int argc, char **argv) { //Variablen FILE *fp; char zeile[100], worte[100]; int n=0, i=0;

//Startet die Ticks
clock();


//Programmablauf
fp = fopen(argv[1], "rt");
while(fgets(zeile, sizeof(zeile), fp) != NULL)
    if (self_strstr(zeile, argv[2]) != NULL)
        n++;
fclose(fp);

//Ausgabe
printf("Anzahl des gesuchten Wortes: %d\n", n);
printf("Ticks: %d", clock());
return 0;

}

char *self_strstr(char *text, char *suche) { int i=0; int j=0; int suche_size; suche_size = strlen(suche); while(text[i] != '\0' && suche_size != 0) { if(text[i]==suche[j]) { suche_size--; j++; } else { suche_size = strlen(suche); j = 0; i=i-j; // hüpfe zum zu letzt Verglichenen Feld von String text } i++; } if (suche_size == 0) return i; else return NULL; }

ich hoffe ihr könnt mir bei helfen es weiterzuschreiben.

Programm, programmieren, Java, CPP, PHP, Python
C++ String mit samt leerzeichen einlesen!?

Hallo zusammen. Ich möchte jetzt in einem c++ programm einen, bzw. mehrere strings MIT leerzeichen einlesen. Mit cin >> xyz geht es ja definitiv nicht. mit getline(cin, xyz) soll es ja wohl gehen. doch habe ich da folgendes problem: die eingabe für die variable, also die mit getline aufgerufen wird WIRD EINFACH ÜBERSPRUNGEN!!! Hier der Code. Bitte helft mir danke schonmal

cout << "Welcome to C++ Filecompiler using G++ !\nThis app is proudly presented by Armin Linzbauer, Copyright 2012." << endl;
cout << "\nFirst, this app is going to collect some basic information...\n(Write paths ALWAYS in quotationmarks!!!\n" << endl;

cout << "\nName of source file, type 0 for standard (\"main.cpp\") -" << "\nName: ";
cin >> sourceName;

cout << "Source path (must end with a slash), type 0 for standard (this directory) -" << "\nPath: ";
getline(cin, sourcePath);
//cin >> sourcePath;

cout << "Name target file here, type 0 for standard (\"app\") -" << "\nName: ";
cin >> targetName;

cout << "Target path (must end with a slash), type 0 for standard (this directory) -" << "\nPath: ";
getline(cin, targetPath);
//cin >> targetPath;

cout << sourceName << "; " << sourcePath << "; " << targetName << "; " << targetPath << endl;
cout << matchedSource << endl;
cout << matchedTarget[1] << endl;
cout << matchedTarget[0] << endl;
cout << matchedSrcTgt << endl;

sorry für die &lt und &gt... ich weiß net wie ich die wegbekomme hier im editor!

Computer, Linux, Programm, programmieren

Meistgelesene Beiträge zum Thema Programm