jason@MTXINU.COM (Jason Venner) (02/22/89)
Given the input 'Hello There' the following program core dumps when printing out the damaged String tester. #include <stdio.h> #include <stream.h> #include <String.h> main( int argc, char** argv ) { char buf[2*1024]; Regex angle("<[^ \t>]+>"); Regex Re("[ \t]+$"); Regex White( "[ \t]+" ); String result; while( gets(buf) ){ String tester( buf ); printf( "tester is '%s'\n", (char*) tester ); if( tester.contains(White)>=0 ) { printf( "Match for '%s'\n", (char*) "WHITE" ); tester.gsub(White, "W"); printf( "'%s' -> '%s'\n", buf, (char*) tester ); cout << tester << '\n'; } tester = buf; if( tester.contains(angle)>=0 ) { printf( "Match for '%s'\n", (char*) "ANGLE" ); tester.gsub(angle, "X"); printf( "'%s' -> '%s'\n", buf, (char*) tester ); cout << tester << '\n'; } tester = buf; if( tester.contains(Re)>=0 ) { printf( "Match for '%s'\n", (char*) "END" ); tester.gsub(Re, "E" ); printf( "'%s' -> '%s'\n", buf, (char*) tester ); cout << tester << '\n'; } } exit( 0 ); }