cpp查找字符串中指定字符串中的位置
时间: 2024-04-12 22:26:38 浏览: 82
在C++中,你可以使用`std::string`的`find`函数来查找一个字符串中指定子字符串的位置。下面是一个示例代码:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello World!";
std::string subStr = "World";
size_t found = str.find(subStr);
if (found != std::string::npos) {
std::cout << "子字符串在位置: " << found << std::endl;
} else {
std::cout << "未找到子字符串" << std::endl;
}
return 0;
}
```
在上面的示例中,我们定义了一个字符串`str`,然后使用`find`函数来查找子字符串`subStr`在`str`中的位置。如果找到子字符串,`find`函数会返回子字符串在主字符串中的起始位置;如果未找到,`find`函数会返回`std::string::npos`。
相关问题
cpp查找字符串中指定字符串第一次出現的位置
在C++中,你可以使用`std::string`的`find`函数来查找字符串中指定子字符串第一次出现的位置。下面是一个示例代码:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello World! Hello!";
std::string subStr = "Hello";
size_t found = str.find(subStr);
if (found != std::string::npos) {
std::cout << "第一次出现的位置: " << found << std::endl;
} else {
std::cout << "未找到子字符串" << std::endl;
}
return 0;
}
```
在上面的示例中,我们定义了一个字符串`str`,然后使用`find`函数来查找子字符串`subStr`第一次出现的位置。如果找到子字符串,`find`函数会返回子字符串在主字符串中的起始位置;如果未找到,`find`函数会返回`std::string::npos`。
esp32 ARDUINO 字符串中查找指定字符串
在Arduino中使用ESP32时,查找字符串中的指定字符串可以使用标准的Arduino字符串处理函数。例如,`indexOf()`函数可以用来查找一个字符串在另一个字符串中的位置。如果找到了指定的子字符串,`indexOf()`会返回它的起始位置(索引),如果没有找到,则返回`-1`。
下面是一个简单的示例代码,演示如何在ESP32的Arduino环境中使用`indexOf()`函数:
```cpp
String mainString = "Hello World";
String searchFor = "World";
void setup() {
Serial.begin(115200);
int foundAt = mainString.indexOf(searchFor);
if (foundAt >= 0) {
Serial.print("找到字符串 '");
Serial.print(searchFor);
Serial.print("' 在位置 ");
Serial.println(foundAt);
} else {
Serial.print("未找到字符串 '");
Serial.print(searchFor);
Serial.println("'");
}
}
void loop() {
// 此处不需要循环代码
}
```
在这个例子中,`mainString`是需要被搜索的原始字符串,`searchFor`是我们想要在`mainString`中查找的子字符串。通过调用`mainString.indexOf(searchFor)`,我们可以得到子字符串在主字符串中的位置,如果找到了的话。
阅读全文