C :: Aufgabe #19 :: Lösung #2

3 Lösungen Lösungen öffentlich
#19

Text nach Wörtern untersuchen

Anfänger - C von Dome - 29.12.2012 um 01:37 Uhr
Ein Text und das Wort was gesucht werden soll, soll eingegeben werden. Daraufhin soll ausgegeben wie oft das Wort in dem Text vorhanden ist.

Konsolenausgabe:

Eingabe Text: Das ist mein Beispieltext.
Welches Wort soll gesucht werden: ist

Das Wort "ist" wurde 1 mal gefunden.
#2
vote_ok
von devnull (8870 Punkte) - 15.12.2013 um 11:58 Uhr
Quellcode ausblenden C-Code
/********************************************
 * word_search2.c  search word in string
 *                 using strtok(3)
 * devnull         08-12-2013                
 ********************************************/
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>

#define STR_LEN   1000
#define WRD_LEN   100

int count_word(char *str, char *wrd)
{
	char *sdp, *wp;
	int cw = 0;
	
	if ((sdp = strdup(str)) != NULL) {
        for (wp = sdp ;; wp = NULL) {
			wp = strtok(wp, " \t\n");
            if (wp == NULL)
				break;
			if (strcmp(wp, wrd) == 0)
				cw++;
		}
		free(sdp);
	}
	return cw;
}

int main( )
{
    char text[STR_LEN+1];
    char word[WRD_LEN+1];

	printf("Text: " );
    if (gets(text) != NULL)
		if (strlen(text) > 0) {
			printf("Wort: ");
			scanf("%s", word);
			printf("Das Wort '%s' wurde %d mal gefunden.\n", word, count_word(text, word));
		}
	return 0;
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben