Try something like this:
#include <random>
...
srand( time(NULL) ); // Initializes the random seed
string randFromVector;
randFromVector = vlist[ rand() % vlist.size() ]; // Takes the data at this address
rand() provides a random number ("psuedo" random, technically). Then, we use modular on the length of the vlist to make sure it references a legal address.
edit: You only need to initialize the random seed once. Every time you call rand() it will return a different number.
You could also remove the modulus bias by doing this:
int x;
do {
x= rand();
} while ( x >= vlist.size() );
randFromVector = vlist[ x];