# String::Find ```cpp SizeType Find(const char* str, SizeType pos = 0) const; ``` 在字符串中查找子串 `str`,从位置 `pos` 开始搜索。 **参数:** - `str` - 要查找的以 null 结尾的 C 字符串 - `pos` - 开始搜索的位置,默认为 0 **返回:** 子串首次出现的起始位置;如果未找到,返回 `String::npos` **复杂度:** O(n * m),其中 n 为原字符串长度,m 为要查找的字符串长度 **示例:** ```cpp #include "XCEngine/Containers/String.h" #include int main() { XCEngine::Containers::String s("Hello World, Hello Universe"); XCEngine::Containers::String::SizeType pos1 = s.Find("World"); std::cout << "Found at: " << pos1 << std::endl; // 输出: Found at: 6 XCEngine::Containers::String::SizeType pos2 = s.Find("Hello", 0); std::cout << "First 'Hello' at: " << pos2 << std::endl; // 输出: First 'Hello' at: 0 XCEngine::Containers::String::SizeType pos3 = s.Find("Hello", 7); std::cout << "Second 'Hello' at: " << pos3 << std::endl; // 输出: Second 'Hello' at: 13 XCEngine::Containers::String::SizeType pos4 = s.Find("NotFound"); if (pos4 == XCEngine::Containers::String::npos) { std::cout << "Not found" << std::endl; // 输出: Not found } return 0; } ``` ## 相关文档 - [String 总览](string.md) - 返回类总览 - [StartsWith](starts-with.md) - 检查前缀 - [EndsWith](ends-with.md) - 检查后缀