std::stringの最後は\0とは限らないので、
終端の判別は必ずイテレータが終わりかどうかを調べること。