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())!='
'){
        if(i<n){
            str[i++]=ch;
        }
    }   
    str[i]='';
    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
",k);
    return 0;
}
原文地址:https://www.cnblogs.com/litifeng/p/10657873.html