vec.erase(vec.find(target), vec.end());

じゃ駄目なの?