CString Find使用
时间: 2023-07-11 15:27:29 浏览: 147
`CString`类提供了`Find`系列函数来查找字符串中指定子串的位置,可以帮助我们进行字符串的处理。下面是一些常用的`Find`函数:
1. `int Find(LPCTSTR lpszSub)`:在当前字符串中查找子串`lpszSub`,返回子串在当前字符串中首次出现的位置,如果找不到则返回-1。
示例代码:
```cpp
CString str = "hello world";
int pos = str.Find("world");
if (pos != -1) {
cout << "子串在字符串中的位置:" << pos << endl;
} else {
cout << "未找到子串" << endl;
}
```
输出为:`子串在字符串中的位置:6`。
2. `int Find(TCHAR ch)`:在当前字符串中查找字符`ch`,返回字符在当前字符串中首次出现的位置,如果找不到则返回-1。
示例代码:
```cpp
CString str = "hello world";
int pos = str.Find('w');
if (pos != -1) {
cout << "字符在字符串中的位置:" << pos << endl;
} else {
cout << "未找到字符" << endl;
}
```
输出为:`字符在字符串中的位置:6`。
3. `int ReverseFind(LPCTSTR lpszSub)`:在当前字符串中查找子串`lpszSub`,返回子串在当前字符串中最后一次出现的位置,如果找不到则返回-1。
示例代码:
```cpp
CString str = "hello world";
int pos = str.ReverseFind('l');
if (pos != -1) {
cout << "字符在字符串中的位置:" << pos << endl;
} else {
cout << "未找到字符" << endl;
}
```
输出为:`字符在字符串中的位置:9`。
4. `int FindOneOf(LPCTSTR lpszCharSet)`:在当前字符串中查找字符集`lpszCharSet`中的任何一个字符,返回第一个匹配字符在当前字符串中的位置,如果找不到则返回-1。
示例代码:
```cpp
CString str = "hello world";
int pos = str.FindOneOf("aeiou");
if (pos != -1) {
cout << "匹配字符在字符串中的位置:" << pos << endl;
} else {
cout << "未找到匹配字符" << endl;
}
```
输出为:`匹配字符在字符串中的位置:1`。
除了上面的这些函数,`CString`类还提供了其他的`Find`系列函数,可以根据需要选择使用。
阅读全文