Ho fatto qualcosa del genere tempo fa, se può servirti:

codice:
int main ( void )
{
     int i=0 , conta=0;
     char str1[]={"abcdefgabhilababmnopabcxzab"};
     char str2[]={"ab"};
     int len1=strlen(str1);
     int len2=strlen(str2);
     
     for ( i=0 ; i<(len1-len2+1) ; i++ ) 
           if ( str2[0]==str1[i] && controlla(str1,str2,i,len2) )
                     conta++;       
                            
    if (conta)
         printf("\n\nLa stringa e' contenuta %d volte",conta);
    else
         printf("\n\nLa stringa non e' stata riconosciuta");
    
    getchar();
                    
    return 0;
    }

int controlla (char *s1,char*s2,int indice,int len_s2)
{    
     int a=0;
          
     for ( a=0; a<len_s2 ; a++ ) 
         if ( s2[a]!=s1[indice+a] )
             return 0;
           
    return 1;
    }
Ciao Ciao