Physics-Station phst.hateblo.jp

旧 http://physics-station.blogspot.jp/ から当はてなブログに移行しました。間違ってるところがあればコメントください。記述の正確性は保証しません。

C++で任意の文字でstringを分割する方法

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);
}