number of occurences of a specific text in a file using c++

Hi,

I have a huge text file. I would like to know, for example, how many times "Mumbai" is present in the file. Can anyone suggest a quick, efficient way of doing this using c++, STL etc? Thanks in advance.

James BondSoftware ProfessionalAsked:
Who is Participating?
 
TomasPCommented:
From the site
http://www.cplusplus.com/reference/string/string/find/// string::find
First load the file into a string
Then put the the find logic below in a loop and every time you find "Mumbai" increment a counter
Make sure you increment found by 1 so the search doesn't find the same "Mumbai" repeatedly but rather searches the whole string

#include <iostream>
#include <string>
using namespace std;

int main ()
{
  string str ("There are two needles in this haystack with needles.");
  string str2 ("needle");
  size_t found;

  // different member versions of find in the same order as above:
  found=str.find(str2);
  if (found!=string::npos)
    cout << "first 'needle' found at: " << int(found) << endl;

  found=str.find("needles are small",found+1,6);
 if (found!=string::npos)
    cout << "second 'needle' found at: " << int(found) << endl;

  found=str.find("haystack");
  if (found!=string::npos)
    cout << "'haystack' also found at: " << int(found) << endl;

  found=str.find('.');
  if (found!=string::npos)
    cout << "Period found at: " << int(found) << endl;

  // let's replace the first needle:
  str.replace(str.find(str2),str2.length(),"preposition");
  cout << str << endl;

  return 0;
0
 
James BondSoftware ProfessionalAuthor Commented:
Thanks. This was a great help.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.