Я воссоздаю строковый класс, используя массивы символов. Моя проблема в том, что когда я выделяю память для большего массива, он генерирует массив совершенно неправильного размера.
Например:
int allocated = 4;
char * reservedString = new char[allocated];
cout << strlen(reservedString);
Вместо создания массива символов размером 4, зарезервированная строка указывает на массив символов с 14 точками, содержащими случайные символы.
Это то, что показывает мне отладка. Зарезервированная строка теперь имеет неправильный размер со множеством случайных символов. Когда я пытаюсь использовать strcpy или strcpy_s, он записывает память за пределы, потому что новые размеры массива неверны.
Как я могу создать массив символов с неизвестной длиной, который предоставляется переменной, который имеет правильный размер.
Я не могу использовать класс std :: string или std :: vector.