Ok, I sorted it out...just needed to return pair<string,string> !!
Code:#include <iostream> #include <string> #include <map> #include <stdlib.h> #include <assert.h> using namespace std; void chomp(string&); pair<string,string> mysplit(string,string); int main() { map<string,string> hash; string line = "key: value\r\n"; chomp(line); hash.insert(mysplit(line, ": ")); for(map<string,string>::const_iterator it=hash.begin(); it!=hash.end(); ++it) { cout << it->first << "->" << it->second << endl; } system("pause"); return EXIT_SUCCESS; } void chomp(string& szString) { string whitespaces(" \t\f\v\n\r"); size_t found; found=szString.find_last_not_of(whitespaces); if (found!=string::npos) szString.erase(found+1); else szString.clear(); } pair<string,string> mysplit(string str, string delim) { string::size_type match = str.find(delim); assert(match != string::npos); return pair<string,string>( string(str.begin(), str.begin() + match), string(str.begin() + match + delim.length(), str.end()) ); }




Reply With Quote