Для чего вообще нужен этот массив char
?И ты уверен, что то, что есть в тебе, вписывается в это?(Существует целый класс ошибок, возникающих при использовании массивов, и известный также: переполнения буфера.) Скорее всего, вам гораздо лучше использовать std::vector
, который динамически изменяет размер:
std::vector<char> v( bin.begin(), bin.end() );
Если вам нужен массив для передачи его в функцию API C, которая не знает, как обрабатывать std::vector
, вы можете получить доступ к базовому массиву вектора, выполнив несколько загадочных &v[0]
или &*v.begin()
.(Помните, что вы должны проверить, не является ли вектор пустым, прежде чем получить доступ к своему первому элементу таким образом.)