// Splitting up skills into the array if (i->first == "skills") { int commas = std::count_if(i->second.begin(), i->second.end(), std::bind2nd(std::equal_to(), ',')); int done = 0; for (int j=0; jsecond.size(); j+=2) { skills[done] = string_cast(i->second.substr(j, 0)); done++; if (done == commas) { break; } } }