string c++ 查找字符
时间: 2023-09-23 19:08:16 浏览: 117
你可以使用标准库函数中的`strchr()`函数来查找一个字符在字符串中的位置。`strchr()`函数的原型如下:
```c
char *strchr(const char *str, int c)
```
其中,`str`是要搜索的字符串,`c`是要查找的字符。如果查找成功,函数将返回指向该字符在字符串中的指针;如果查找失败,则返回`NULL`。
以下是一个示例代码,演示了如何使用`strchr()`函数查找字符在字符串中的位置:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
char ch = 'o';
char *result = strchr(str, ch);
if (result != NULL) {
printf("字符 '%c' 在字符串中的位置是:%ld\n", ch, result - str);
} else {
printf("字符 '%c' 未在字符串中找到。\n", ch);
}
return 0;
}
```
运行上述代码,输出将是:
```
字符 'o' 在字符串中的位置是:4
```
希望对你有所帮助!如果你还有其他问题,请随时提问。
相关问题
C++ std::string反向查找字符
使用std::string的rfind()函数可以反向查找字符,该函数从字符串的末尾开始查找,返回最后一次出现字符的位置。
例如,以下代码查找字符串中最后一次出现字符'c'的位置:
```
#include <iostream>
#include <string>
int main() {
std::string str = "abcdefgchijklmnc";
int pos = str.rfind('c');
std::cout << "Last position of 'c' is: " << pos << std::endl;
return 0;
}
```
输出结果为:
```
Last position of 'c' is: 14
```
c++ string 查找指定字符串,之后把指定字符串的内容全部替换成空字符
要实现将指定字符串的内容替换为空字符,可以使用C++的`std::string`类和其成员函数`find()`和`replace()`。首先使用`find()`函数找到指定字符串的位置,然后使用`replace()`函数将该位置开始的指定字符串替换为空字符串。
以下是一个示例代码:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world! Hello, C++! Hello, string!";
std::string searchStr = "Hello, C++!";
std::string replaceStr = "";
// 查找指定字符串的位置
size_t pos = str.find(searchStr);
if (pos != std::string::npos) {
// 替换指定字符串为空字符串
str.replace(pos, searchStr.length(), replaceStr);
}
std::cout << str << std::endl;
return 0;
}
```
在上面的示例中,我们将字符串`str`中的"Hello, C++!"替换为了空字符串。输出结果为:"Hello, world! Hello, string!"。您可以根据自己的需求修改代码中的字符串和查找替换的内容。
阅读全文