用C++编写一个函数fun实现:在一个字符串中查找另一个给定的字符串首次出现的位置。 int find(char *strSrc, char strFind) 该函数在字符串strSrc中查找字符串strFind首次出现的位置,并返回一个整数表示该位置,返回-1表示查找失败或未找到。
时间: 2024-02-25 10:57:00 浏览: 62
好的,这是一个简单的字符串查找函数实现:
```c++
int find(char *strSrc, char *strFind) {
int i, j, k;
int srcLen = strlen(strSrc);
int findLen = strlen(strFind);
for (i = 0; i < srcLen; i++) {
if (srcLen - i < findLen) {
return -1;
}
k = i;
for (j = 0; j < findLen; j++) {
if (strSrc[k] == strFind[j]) {
k++;
} else {
break;
}
}
if (j == findLen) {
return i;
}
}
return -1;
}
```
该函数使用两个指针i和j,分别指向源字符串和目标字符串中的字符,同时使用一个k指针跟踪源字符串中的位置。第一个循环遍历源字符串中的所有字符,如果源字符串中剩余的字符不足以匹配目标字符串,则返回-1。第二个循环遍历目标字符串中的所有字符,如果目标字符串中的字符与源字符串中的字符不匹配,则跳出循环。如果目标字符串中的所有字符都匹配,则返回源字符串中的位置。如果没有找到目标字符串,则返回-1。
阅读全文