c语言搜索子字符串

c字符串功能练习:

获取一行字符串,然后,在这行字符串中搜索是否包含一个小字符串

#include <cstdio>                                                                                                                            
#include <cstring>
#define N 100
using namespace std;
int read_line(char str[],int n){ 
    int ch,i=0;
    while((ch=getchar())!='\n'){
        if(i<n){
            str[i++]=ch;
        }
    }   
    str[i]='\0';
    return i;
}
int main(){
    char s[N],s1[N];
    int i,a,b,k;
    read_line(s,N);
    strncpy(s1,"you",N);
    k=0;
    a=strlen(s);
    b=strlen(s1);
    for(i=0;i<a-b+1;i++){
        if((strncmp(s1,s+i,b))==0){    //主要是这个比较语句,s+i表示从0开始,一词递增,a-b+1,保证i最后一个值起始位置到字符串末尾的长度是b
            k++;    
        }
    }   
    printf("%d\n",k);
    return 0;
}

 

posted @ 2019-04-05 07:14  立体风  阅读(2812)  评论(1编辑  收藏  举报