首页主机资讯c语言查找子串的方法是什么

c语言查找子串的方法是什么

时间2023-12-09 07:29:03发布访客分类主机资讯浏览712
导读:在C语言中,可以使用以下几种方法来查找子串: 使用字符串库函数:可以使用C标准库中的字符串函数来查找子串,例如strchr( 、strstr( 等。其中,strstr( 函数可以用来查找一个字符串中是否包含另一个子串,如果包含则返回子串在...

在C语言中,可以使用以下几种方法来查找子串:

  1. 使用字符串库函数:可以使用C标准库中的字符串函数来查找子串,例如strchr()、strstr()等。其中,strstr()函数可以用来查找一个字符串中是否包含另一个子串,如果包含则返回子串在字符串中的位置指针,如果不包含则返回NULL。

示例代码:

#include stdio.h>
    
#include string.h>


int main() {
    
    char str[] = "Hello, world!";
    
    char sub[] = "world";
    
    
    char *ptr = strstr(str, sub);

    
    if (ptr != NULL) {
    
        printf("子串在字符串中的位置:%ld\n", ptr - str);

    }
 else {
    
        printf("未找到子串\n");

    }
    
    
    return 0;

}
    
  1. 使用循环遍历:可以使用循环遍历字符串中的每个字符,逐一比较字符是否匹配子串的第一个字符,如果匹配,则再逐一比较后续字符是否相等,直至完全匹配或者不匹配。

示例代码:

#include stdio.h>
    
#include string.h>


int main() {
    
    char str[] = "Hello, world!";
    
    char sub[] = "world";
    
    
    int len_str = strlen(str);
    
    int len_sub = strlen(sub);
    
    
    int i, j, k;
    
    for (i = 0;
     i = len_str - len_sub;
 i++) {
    
        for (j = i, k = 0;
     k  len_sub &
    &
     str[j] == sub[k];
     j++, k++);

        if (k == len_sub) {
    
            printf("子串在字符串中的位置:%d\n", i);
    
            break;

        }

    }
    
    
    if (i >
 len_str - len_sub) {
    
        printf("未找到子串\n");

    }
    
    
    return 0;

}
    

以上是两种常见的查找子串的方法,可以根据具体情况选择合适的方法来使用。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: c语言查找子串的方法是什么
本文地址: https://pptw.com/jishu/574392.html
mongodb高级查询语句怎么写 centos怎么查看文件路径

游客 回复需填写必要信息