strings c++ string vector copy

c++ - strings - string to vector java



Cómo copiar std:: string en std:: vector<char>? (2)

Posible duplicado:
Convirtiendo std :: string en std :: vector <char>

Lo intenté:

std::string str = "hello"; std::vector<char> data; std::copy(str.c_str(), str.c_str()+str.length(), data);

pero no funciona = (Entonces me pregunto cómo copiar std::string en std::vector<char> o std::vector<uchar> ?


Necesita un insertador posterior para copiar en vectores:

std::copy(str.c_str(), str.c_str()+str.length(), back_inserter(data));


std::vector tiene un constructor que toma dos iteradores. Puedes usar eso:

std::string str = "hello"; std::vector<char> data(str.begin(), str.end());

Si ya tiene un vector y desea agregar los caracteres al final, necesita un insertador posterior:

std::string str = "hello"; std::vector<char> data = /* ... */; std::copy(str.begin(), str.end(), std::back_inserter(data));