字符串中子串的查找

字符串中子串的查找

// 字符串中子串的查找.cpp : 定义控制台应用程序的入口点。
//

// 字符串中子串的查找.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<stdio.h>
#include<assert.h>
#include<windows.h>
const char *strstr(const char* src,const char* sub)
{
    const char* bp;
    const char* sp;

    if(src==NULL||NULL==sub)//判断src与sub的有效性
        {
        return src;
        }
    while(*src)//遍历src字符串
        {
        bp=src;
        sp=sub;
        do
        {
            if(!*sp)
                return src;
        }while(*bp++==*sub++);
        src+=1;
        }
    return NULL;
}
int main()
{
    char p[]="12345";
    char q[]="34";
    const char *r= strstr(p,q);
    printf("r: %s\n",r);
    system("pause");
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-07 09:58:53

字符串中子串的查找的相关文章

【转】Java中字符串中子串的查找共有四种方法(indexof())

原文网址:http://wfly2004.blog.163.com/blog/static/1176427201032692927349/ Java中字符串中子串的查找共有四种方法,如下:1.int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引. 2.int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引. 3.int lastIndexOf(String st

Java中字符串中子串的查找共有四种方法(indexof())

Java中字符串中子串的查找共有四种方法(indexof()) Java中字符串中子串的查找共有四种方法,如下:1.int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引. 2.int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引. 3.int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引. 4.int las

Java中字符串中子串的查找方法

Java中字符串中子串的查找共有四种方法: int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引. int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引. int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引. int lastIndexOf(String str, int startIndex) :从指定的

C语言--编程实现字符串中子串的查找

编程实现字符串中子串的查找 1 #include <stdio.h> 2 #include <assert.h> 3 //查找字符串中的某个字符串的位置 4 const char *strstr(const char* src,const char* sub) 5 { 6 const char *bp; 7 const char *sp; 8 if(src==NULL || NULL==sub)//判断src与sub的有效性 9 { 10 return src; 11 } 12 w

计算字符串中子串出现的次数。

/* 计算字符串中子串出现的次数. 算法:字符串最长匹配原则,以下是图解: abcabcabc abc 循环遍历母串前lenT-lenP: 循环遍历字串,用j指向子串,用k记录每一趟母串开始的位置,若p[j]==t[k]则k.j均后移 若j==子串长度lenP,则找到一个子串,次数++. */ #include<stdio.h> #include<math.h> #include<malloc.h> #include<string.h> main() { c

计算字符串中子串出现的次数的问题麻烦帮忙看看

uhv7vn拱寐手硬拘耸<http://weibo.com/VFzp/230927982830634764345344> 1rf49l笔畔帽趟范沽<http://weibo.com/uSIp/230927983121854392700928> ijr22y值摆挂鹤啪傅<http://weibo.com/p20180413p/230927983073935346110464?oL> 831b27口偾殖卜呀驼<http://weibo.com/p20180413p/2

JAVA常见算法题(三十三)---求子串在字符串中出现的次数

计算某字符串中子串出现的次数. public static void main(String[] args) { String s1 = "adcdcjncdfbcdcdcd"; String s2 = "cd"; count(s1, s2); } public static void count(String str1, String str2) { int count = 0; if (str1.equals("") || str2.equa

c语言求字符串中大写字母个数,单词个数,子串个数及一个整数是否为回文数

#include <stdio.h> #include <ctype.h> #pragma mark 统计从终端输入的字符中每个大写字母的个数.用#号作为输入结束标志 int main() { int num[26] = {0}, i; char c; while ((c = getchar())!='#') { if (isupper(c)) { num[c-65]++; } } for (int i = 0; i<26; i++) { if (num[i]) { prin

字符串中查找子串

使用C语言编写程序: 1.在字符串中查找一个指定的字符第一次出现的位置,并返回字符所在的位置,如果不存在则返回NULL 具体实现如下: char* strchr(char const *str, int ch) { char* st = (char*)str; while (st) { if (*st == ch) return st; st++; } return NULL; } 2.在字符串中查找一个指定的字符串第一次出现的位置,并返回字符所在的位置,如果不存在则返回NULL 具体实现如下: