c++string查找指定字符
时间: 2023-12-07 10:59:50 浏览: 76
使用C语言中的库函数strchr()可以查找一个字符串中第一次出现指定字符的位置。
函数原型如下:
```c
char *strchr(const char *s, int c);
```
其中,s是被查找的字符串,c是要查找的字符。函数返回一个指向该字符的指针,如果字符串中没有该字符,则返回NULL。
例如,下面的代码演示了如何查找字符串中第一次出现字符'x'的位置:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello world";
char *ptr = strchr(str, 'x');
if (ptr == NULL) {
printf("Character not found\n");
} else {
printf("Character found at position %ld\n", ptr - str);
}
return 0;
}
```
输出:
```
Character not found
```
相关问题
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!"。您可以根据自己的需求修改代码中的字符串和查找替换的内容。
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(0, pos, replaceStr);
}
std::cout << str << std::endl;
return 0;
}
```
在上面的示例中,我们将字符串`str`中的"Hello, C++!"之前的内容全部替换为了空字符串。输出结果为:"Hello, string!"。您可以根据自己的需求修改代码中的字符串和查找替换的内容。
阅读全文