title: using string iterators over char* in boost regex
body: <p>I am trying to search a char* to find matches and store each match as a struct using boost regex. I do not know how to use the std::string iterators over char*. So I created std::string from char* and using them. But now I want pointers in the original char* which can only be found using std::string I created. See the following code. The comments should clear your doubts. </p>
  
  <pre><code>typedef struct {
   void *pFind; // Pointer to begining of match   
   int lenFind; // Length of match
  } IppRegExpFind;
  
  
  
  bool regExSearch(int nStrLen /*Length of input string*/, 
               std::vector&lt;IppRegExpFind&gt;&amp; vectResult /*vector of struct to store matches*/, 
               int &amp;numMatches /* number of matches*/, 
               const char *sStrInput /*Input string to be searched*/,
               const char *sStrRegex /*Input regex string*/)
  {
   bool bStatusOk = true;
   try{
       std::string regexStr(sStrRegex);
       std::string inputStr(sStrInput);
       static const boost::regex ex(regexStr);
       std::string::const_iterator start, end;
       start = inputStr.begin();
       end = inputStr.end();
       boost::match_results&lt;std::string::const_iterator&gt; what; 
       boost::match_flag_type flags = boost::match_default; 
       std::vector &lt;std::string&gt; matches;
       while(boost::regex_search(start, end, what, ex, flags))
          {
           matches.push_back(what.str());
           start = what[0].second;
          }
      //  convert boost:match_Results to a vector of IppRegExpFind
     }
     catch(...){
      bStatusOk = false;
      }
  return bStatusOk;
  }
  </code></pre>