Hello this is my first post here, i made this search function and i would like some feedback and or tips. (:

// Implement your own [search]strstr[/search] function. (Intermediate)

#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

class Search
	int m_nTextL;
	int m_nSearchL;
	int m_nResult;
	bool m_bFound;

	Search(string strText = 0, string strSearch = 0)
		: m_nTextL(strText.length()-1)
		, m_nSearchL(strSearch.length()-1)
		, m_nResult(0), m_bFound(false)
		int aaa = 0; int bbb = 0;

			while(strSearch[aaa] == strText[bbb++])
				{ aaa++; break; }

			if(aaa>0 && !(strSearch[aaa] == strText[bbb])) aaa = 0;

			if(aaa == m_nSearchL)
			{ m_bFound = true; m_nResult = bbb--; break; }

			if(bbb == m_nTextL)
			{ m_bFound = false; m_nResult = 0; break; }

		if(m_bFound == true)	for(bbb--; bbb<=m_nTextL; bbb++)
						cout << strText[bbb];

		else cout << "No match!";
		cout << endl;

int main()
	Search jeg("This is the text i want to search in", "want");
	return 0;
Nick Evan commented: Indented code + code-tags on the first post. Good job! +12

Recommended Answers

All 4 Replies

I wouldn't do everything in the constructor. I would make it more like this:

Search mySearch;
mySearch.SetText("This is the text I want to search in");
bool found = mySearch.Search();

This way you also can use the result in the calling function.


Its pointless doing this since, you are using string, unless you are doing this as an

string text = "This is the text I want to search in";
string wordToFind = "want";
bool isFound = text.find(wordToFind) != string::npos;
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.