Просто используйте конструктор итератора:
std::string s(v.begin(), v.end());
( Редактировать ): или использовать конструктор char-pointer-plus-size:
std::string s(v.data(), v.size()); // or &v[0]
Если ваша строка оканчивается нулем и вы хотите опустить терминатор, используйте конструктор char*
:
std::string s(v.data()); // or &v[0]
Обновление: Как говорит @Dave, вы можете использовать тот же синтаксис для назначения существующей строке:
s.assign(v.begin(), v.end());
s.assign(v.data(), v.size()); // pointer plus size
s.assign(v.data()); // null-terminated