在C++中,str.find()函數用于在字符串中查找指定的子字符串,并返回子字符串第一次出現的位置。如果找到了指定的子字符串,則返回子字符串的索引位置;如果未找到指定的子字符串,則返回npos(string::npos)值。該函數的語法如下:
size_t find(const string& str, size_t pos = 0) const noexcept;
其中,str為要查找的子字符串,pos為從哪個位置開始查找,默認為0(從字符串的起始位置開始查找)。如果指定了pos參數,則從指定的位置開始查找子字符串。
以下是一個示例:
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello, World!";
string subStr = "World";
size_t found = str.find(subStr);
if (found != string::npos) {
cout << "Substring found at position: " << found << endl;
} else {
cout << "Substring not found" << endl;
}
return 0;
}
在上面的示例中,首先定義了一個字符串str和一個要查找的子字符串subStr。然后使用find()函數在字符串str中查找子字符串subStr,并將返回的位置存儲在found變量中。最后根據found的值判斷是否找到了子字符串。