memmem函数代码用例
时间: 2024-10-16 07:02:59 浏览: 48
byteshift_strstr:stdlib 的 strstr() 和 memmem() 子序列搜索函数的简单快速的替代品
`memmem()` 函数是 C++ 标准库中的字符串搜索函数,它在一个源串(haystack)中查找目标串(needle)的第一个匹配位置。这个函数并不常见于现代 C++ 中,因为它已经被 `std::string::find` 和 `std::search` 等函数替代了。然而,在一些特定的场合,如老式代码或者需要底层内存操作的地方可能会用到。
下面是一个简单的 `memmem()` 的用例示例:
```cpp
#include <cstring>
// 定义源串和目标串
char haystack[] = "Hello, world!";
const char needle[] = "world";
// 使用 memmem 搜索 needle 在 haystack 中的位置
size_t found_at = memmem(haystack, sizeof(haystack), needle, strlen(needle));
if (found_at != nullptr) {
std::cout << "Found 'world' at position " << found_at << std::endl;
} else {
std::cout << "Substring not found" << std::endl;
}
```
在这个例子中,如果找到了 "world",`memmem` 将返回第一个字符的地址;如果没有找到,则返回 `nullptr`。
阅读全文