当前位置:首页 > 行业动态 > 正文

c语言怎么检测子字符串

在C语言中,可以使用以下方法来检测子字符串:

1、使用strstr()函数:

strstr()函数是C语言标准库中的字符串处理函数,用于在一个字符串中查找另一个子字符串的首次出现位置。

它接受两个参数:目标字符串和要查找的子字符串。

如果找到子字符串,则返回指向子字符串首次出现位置的指针;如果没有找到,则返回NULL。

2、使用循环遍历:

可以使用循环遍历目标字符串,逐个字符与子字符串进行比较,判断是否匹配。

如果匹配成功,则返回子字符串的位置;如果遍历完整个目标字符串都没有找到匹配,则返回1。

下面是使用strstr()函数和循环遍历两种方法的示例代码:

使用strstr()函数

#include <stdio.h>
#include <string.h>
int main() {
    char target[] = "Hello, World!";
    char substring[] = "World";
    char *result = strstr(target, substring);
    
    if (result != NULL) {
        printf("Substring found at index %ld
", result target);
    } else {
        printf("Substring not found
");
    }
    
    return 0;
}

输出结果为:

Substring found at index 7

使用循环遍历

#include <stdio.h>
#include <string.h>
int main() {
    char target[] = "Hello, World!";
    char substring[] = "World";
    int target_len = strlen(target);
    int substring_len = strlen(substring);
    int i, j;
    
    for (i = 0; i <= target_len substring_len; i++) {
        for (j = 0; j < substring_len; j++) {
            if (target[i + j] != substring[j]) {
                break;
            }
        }
        
        if (j == substring_len) {
            printf("Substring found at index %d
", i);
            return 0; // 找到匹配后直接退出循环
        }
    }
    
    printf("Substring not found
");
    return 0;
}

输出结果为:

Substring found at index 7
0

随机文章