const char *to vector Инициализация

Я понимаю, что использование вектора — хороший способ хранения двоичных данных при использовании C++ и STL. Однако для моих модульных тестов я хотел бы инициализировать вектор, используя строковую переменную const char*C.

Я пытаюсь использовать вариант кода, найденного здесь-Преобразование (void*)в std::vector-для этого:

const char* testdata = "the quick brown fox jumps over the lazy dog.";

unsigned char* buffer = (unsigned char*)testdata;
typedef vector bufferType;

bufferType::size_type size = strlen((const char*)buffer);
bufferType vec(buffer, size);

Однако компилятор VC++ недоволен строкой, инициализирующей вектор, заявив:

error C2664: 'std::vector<_Ty>::vector(unsigned int,const _Ty &)' : cannot convert parameter 1 from 'char *' to 'unsigned int'

Я понимаю крайнюю бестактность этого вопроса и полностью готов к большой критике кода выше:)

Заранее спасибо, Chris

9
задан Community 23 May 2017 в 12:02
поделиться