请用c++写一个查找子串接口?
时间: 2023-02-06 19:10:56 浏览: 80
这是一个使用 C 语言写的查找子串的函数:
```
#include <stdio.h>
#include <string.h>
// 这是查找子串的函数
int find_substring(const char* str, const char* sub)
{
// 获取字符串和子串的长度
int str_len = strlen(str);
int sub_len = strlen(sub);
// 循环遍历字符串
for (int i = 0; i < str_len - sub_len + 1; i++)
{
// 如果找到子串,则返回子串在字符串中的位置
if (strncmp(str + i, sub, sub_len) == 0)
{
return i;
}
}
// 如果没有找到子串,则返回 -1
return -1;
}
int main()
{
// 测试查找子串的函数
printf("%d\n", find_substring("Hello, World!", "World")); // 输出 7
printf("%d\n", find_substring("Hello, World!", "world")); // 输出 -1
printf("%d\n", find_substring("Hello, World!", "")); // 输出 0
printf("%d\n", find_substring("Hello, World!", "Hello, World! Hello, World!")); // 输出 -1
return 0;
}
```
这个函数使用了 C 标准库中的 `strlen` 函数和 `strncmp` 函数。`strlen` 函数用于获取字符串的长度,`strncmp` 函数用于比较两个字符串的前 `n` 个字符是否相同。
希望这个函数能帮到你。