c++中string的find用法
时间: 2023-12-01 14:03:07 浏览: 54
在C语言中,没有字符串类型和find函数,不过可以通过使用标准库中的字符串处理函数来实现类似的功能。
可以使用strchr函数来查找字符串中某个字符第一次出现的位置,例如:
```c
char str[] = "hello world";
char *ptr = strchr(str, 'w');
if (ptr != NULL) {
printf("字符 'w' 在字符串中第一次出现的位置是:%d\n", ptr - str);
} else {
printf("字符 'w' 在字符串中未找到\n");
}
```
另外,可以使用strstr函数来查找字符串中一个子串第一次出现的位置,例如:
```c
char str[] = "hello world";
char *ptr = strstr(str, "world");
if (ptr != NULL) {
printf("子串 'world' 在字符串中第一次出现的位置是:%d\n", ptr - str);
} else {
printf("子串 'world' 在字符串中未找到\n");
}
```
需要注意的是,这些函数在找到匹配的位置时返回的是指向该位置的指针,如果未找到则返回NULL。此外,指针相减的结果是两个指针之间的距离,也就是偏移量。
相关问题
c++中string.find()函数用法
在C++中,string.find()函数用于在一个字符串中查找另一个字符串的位置。其语法如下:
```c++
size_t find (const string& str, size_t pos = 0) const noexcept;
```
其中,第一个参数是要查找的字符串,第二个参数是从哪个位置开始查找(默认值为0)。
该函数返回查找到的第一个字符的位置,如果未找到,则返回string::npos。
下面是一个示例:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello, world!";
size_t found = str.find("world");
if (found != string::npos) {
cout << "Found at position " << found << endl;
} else {
cout << "Not found" << endl;
}
return 0;
}
```
输出结果为:
```
Found at position 7
```
c++中string的用法
在C++中,string是一个字符串类,它维护了一个字符串。可以通过以下方式使用string:
1. 字符串赋值:可以使用等号将一个字符串赋值给另一个字符串,例如:string str1 = "hello"; string str2 = str1;
2. 单个字符的访问或修改:可以使用[]或at()方法来访问或修改字符串中的单个字符,例如:string str = "hello"; str = 'x'; str.at(1) = 'y';
3. 字符串的拼接:可以使用+运算符将两个字符串拼接在一起,例如:string str1 = "hello"; string str2 = "world"; string str3 = str1 + str2;
4. 字符串的查找:可以使用find()方法查找字符串中是否包含某个子串,例如:string str = "hello world"; int pos = str.find("world"); // pos的值为6
5. 字符串的截取:可以使用substr()方法截取字符串的一部分,例如:string str = "hello world"; string subStr = str.substr(6, 5); // subStr的值为"world"
6. 字符串的长度:可以使用size()或length()方法获取字符串的长度,例如:string str = "hello"; int len = str.size(); // len的值为5
7. 字符串的比较:可以使用==、!=、<、>、<=、>=等运算符比较两个字符串的大小,例如:string str1 = "hello"; string str2 = "world"; bool result = (str1 < str2); // result的值为true
阅读全文