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;
}

 

转载于:https://www.cnblogs.com/litifeng/p/10657873.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值