This question is a flip side of this How to efficiently copy a std::string into a vector
I typically copy the vector this way ( null terminated string )
std::string s((char*)&v[0]);
or ( if the string has already been declared ) like this
s = (char*)&v[0];
It gets the job done but perhaps there are better ways.
EDIT
C-style casts are ugly, I am told so what about this
s = reinterpret_cast<char*>(&vo[0]);
generates less than half the number of lines of assembly code in Visual C++ 2005 as