find a word in a string in c with strtok code example

Example: search a word in a string in c

/**
 * C program to find last occurrence of a word in given string
 */

#include <stdio.h>
#include <string.h>
#define MAX_SIZE 100 // Maximum string size

int main()
{
    char str[MAX_SIZE];
    char word[MAX_SIZE];
    int i, j, found;

    /* Input string and word from user */
    printf("Enter any string: ");
    gets(str);
    fflush(stdin);
    printf("Enter any word to search: ");
    gets(word);

    /*
     * Run a loop from starting index of string to
     * length of string - word length
     */
    for(i=0; i<strlen(str) - strlen(word); i++)
    {
        // Match word at current position
        found = 1;
        for(j=0; j<strlen(word); j++)
        {
            // If word is not matched
            if(str[i + j] != word[j])
            {
                found = 0;
                break;
            }
        }

        // If word have been found then print found message
        if(found == 1)
        {
            printf("'%s' found at index: %d \n", word, i);
        }
    }

    return 0;
}

Tags:

C Example