# Include <iostream> # include <vector> # include <string> # include <algorithm> using namespace STD; void stringsplit (const string & STR, vector <string> & vstr, const char & Division) {int startpos = 0; int endpos = string: NPOs; startpos = Str. find_first_not_of (Division); While (startpos! = String: NPOs) {endpos = Str. find_first_of (Division, startpos); If (endpos! = String: NPOs) {string strsplit = Str. substr (startpos, (endpos-startpos); vstr. push_back (strsplit);} else {string strsplit = Str. substr (startpos); vstr. push_back (strsplit);} startpos = Str. find_first_not_of (Division, endpos);} return;} void printelement (const string & Str) {cout <STR <Endl;} int _ tmain (INT argc, _ tchar * argv []) {string str1 = "_ 1_dfg45d # $ __#__ #__ __123456789_1_dfg45d # $ __123456789_1_dfg45d #$__123456789 "; string str2 = "_ sdfsf_dfg45d # $ __zhang sanli Si ____ sdfsf_dfg45d # $ __zhang sanli Si ____ sdfsf_dfg45d #__ __ Zhang sanli Si ____ #__ __zhang sanli Si __"; string str3 = "(* ^ (* _ dfg45d # $ __day up _ (* ^ (* _ dfg45d # $ __day up _ (* ^ (* ^ (* _ dfg45d #__ __every day up _ (* ^ (* _ dfg45d #$ __every day up __"; vector <string> vstr; stringsplit (str1, vstr, '_'); for_each (vstr. begin (), vstr. end (), printelement); cout <Endl; vstr. clear (); stringsplit (str2, vstr, '_'); for_each (vstr. begin (), vstr. end (), printelement); cout <Endl; vstr. clear (); stringsplit (str3, vstr, '_'); for_each (vstr. begin (), vstr. end (), printelement); cout <Endl; vstr. clear (); Return 0 ;}