Error with boost::regex library in Borland C++ Builder 6

Hi, Can anyone explain to me why I get "Abnormal program termination" at the exit of the function shown below in the example. The error occurs when exiting the function after it was called second time. //---------------------------------------------------------------------- ----- #include <vcl.h> #pragma hdrstop #include <boost/regex.hpp> #include <string> #include "Unit1.h" //---------------------------------------------------------------------- ----- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //---------------------------------------------------------------------- ----- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { Edit1->Clear(); } //---------------------------------------------------------------------- ----- using namespace boost; using namespace std; void __fastcall TForm1::Button1Click(TObject *Sender) { Memo1->Clear(); if ( Edit1->Text.IsEmpty() ) return; regex e( std::string(Edit1->Text.c_str()) ); cmatch what; string response; TFileStream* file = new TFileStream( "1.htm", fmOpenRead ); response.resize(file->Size+1); file->Read(response.begin(), file->Size); response[file->Size] = 0; delete file; std::string::const_iterator start; start = response.begin(); while( regex_search( start, what, e ) ) { for ( unsigned int i = 0 ; i < what.size() ; i++ ) { std::string result = std::string(what[i].first, what[i].second); Memo1->Lines->Add( result.c_str() ); } Memo1->Lines->Add(""); start = what[0].second; } } //---------------------------------------------------------------------- -----
participants (1)
-
Giany2k