题目:
自实现myFind()函数,
在某个字符串str中查找子字符串str_key的位置,,如果找到,返回子字符串所出现的第一个位置的下标,如果没找到,返回-1。
例如
abcdefgabcdefg (str)def (str_key) 3
qwe -1
#include <iostream>
#include <cstring>
using namespace std;//Findint Find1(string str,string key_str)
{if (str.length()<key_str.length()){return -1;}for (int i = 0; i < str.length(); i++){// 当找到字符与要查找的字符第一个字符相同 if (str[i]==key_str[0]){//保存当前的位置int i_tmp=i;int j=0;// 依次往后对比while (str[i_tmp] ==key_str[j]&& i_tmp <=str.length() &&j<=key_str.length()){i_tmp++;j++;}//待对比长度if (j>=key_str.length()){//返回找到的位置return i;}}}
}
int main()
{//自实现string.find()功能,在某个字符串str中查找子字符串str_key的位置//如果找到,返回字符串所出现的第一个位置的下标,如果没找到,返回-1;int pos=Find1("abcdgeg","dge");cout<<"pos="<<pos<<endl;return 0;
}