C言語-統計文字列sが文字列strに現れる回数

1261 ワード

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

int findsub(char* src, char* s)
{
    char *ptr=src, *p=s;    //       
    char *ptr2=src+strlen(src), *prev=NULL;    //ptr2 src       
    int len=strlen(s), n=0;        //          
    for(;*ptr;ptr++)    //      
    {
        if(ptr2-ptr<len)    //          src,    
            break;
        for(prev=ptr;*prev==*p;prev++,p++)    //          ,             
        {
            if(*(p+1)==0||*(p+1)==10)    //            
            {
                n++;    //   
                p=s;    //       
                break;//   
            }
        }
    }
    return n;
}

int main(void)
{
    char a[81],b[81];        //        
    printf("      :"); 
    fgets(a,81,stdin);    //  
    printf("      :"); 
    fgets(b,81,stdin);
    printf("  :%d
",findsub(a,b)); system("pause"); return 0; }
      :f^@%T^tg2t455urhg&# 73y8uyjh55b jsreh55 jkh%^T*&
:55
:3
. . .