У меня странная проблема, связанная с выделением динамической памяти для указателя char. У меня есть что-то вроде
char *input = new char; //1
gets(input) //2
char *dest = new char; //3
во время шага 3 я получаю ошибку повреждения кучи во время выполнения. Это происходит только в том случае, если длина вводимой мной строки превышает 23 символа.
Если я не буду выполнять никаких новых операций, значит, проблем нет.
Эта проблема будет решена, если я укажу
char *input = new char[100];
Но я хочу, чтобы ввод был динамическим на основе ввода пользователя.
Я не уверен, какова роль в этом случае 24 байтов. Я не хочу ограничиваться 100 или несколькими n символами ... Я немного слаб в распределении памяти ... Может кто-нибудь объяснить этот сценарий?