私はプログラミングの学生です。別の文字列の部分文字列を検索するプログラムを作成するように依頼されましたがfind()
、文字列クラスで提供されている関数を使用するつもりはありません。これまでに書いたコードは機能しますが、find()
関数を使用しています。これを変更して、検索機能を使用せずに部分文字列の場所を取得するにはどうすればよいですか? これが私のコードです:
#include <iostream>
#include <string>
using namespace std;
int f_r(string, string);
int main()
{
string s;
string t;
cout << "\nEnter the string to be searched: ";
getline(cin,s);
cout << "Now enter the string you want to search for: ";
cin >> t;
if (f_r(s,t) == 0)
{
cout << "\n Substring could not be found.";
}
else
{
cout << "\nThe index of substring is = " << f_r(s,t) << endl;
}
system("PAUSE");
return 0;
}
int f_r(string str, string c)
{
int pos = 0;
pos = str.find(c, pos);
if (pos > str.length())
{
return 0;
}
else
{
pos++;
return pos - 1;
}
}