собственно вопрос в теме.
string strresponse;
vector<char> response;
strresponse = &response[0];
почему-то не работает.
Здравствуйте, Аноним,
vector<char> response;
// тут что-то пишешь в вектор...
string strresponse(response.begin(), response.end());
// все!
Здравствуйте, Аноним, Вы писали:
А>собственно вопрос в теме.
А>string strresponse;
А>vector<char> response;
strresponse.resize(response.size());
std::copy(response.begin(), response.end(), strresponse.begin());
А>strresponse = &response[0];
А>почему-то не работает.
это будет работать только если строка в векторе заканчивается '\0'.
Здравствуйте, Аноним, Вы писали:
А>собственно вопрос в теме.
А>string strresponse;
А>vector<char> response;
А>strresponse = &response[0];
А>почему-то не работает.
Что значит не работает? В векторе есть терминирующий ноль?
А Вообще можно например так:
strresponse.assign(response.begin(), response.end());
//или
string strresponse(response.begin(), response.end());
Здравствуйте, Аноним, Вы писали:
А>собственно вопрос в теме.
А>string strresponse;
А>vector<char> response;
А>strresponse = &response[0];
А>почему-то не работает.
А можно и Я свои 5 копеек вставлю ??
std::vector<char> vec;
std::string a( vec.begin(), vec.end() );
std::string b;
std::copy( vec.begin(), vec.end(), std::back_inserter( b ) );