std::getlineは名前の通りstream
から1行ごとにstringを得る関数だが、デリミタ(delimiter)を指定することも可能である。分かれば簡単。
std::string str = "a_ab_abc"; std::stringstream ss(str); std::string item; std::vector<std::string> vitem; while(std::getline(ss, item, '_')) { vitem.emplace_back(item); }