У меня проблемы с использованием malloc во время конкатенации.Кажется, когда я неправильно размещаю свой указатель, автоматически добавляется символ.Это добавление после многих циклов, которые уже работали, я использую malloc на нулевом указателе, настроенном на 2 строки раньше, я использую только число, для которого существует, cur_len, sub_len
.
Это кажется нормальным, думает,но в этот момент этот специальный символ автоматически появляется.На самом деле, кажется, что (для меня) он отображается как один символ при печати (см. Рисунок 2), но когда я проверяю значение new_str через lldb, '0'
(с цитатой) состоит из трех символов ...
Когда печатается символ:
Если кто-то может дать мне подсказку, он попробовал некоторые вещи, не в состоянии понять длямоментБлагодаря вам, я надеюсь, что все ясно.
Редактировать:
Моя ошибка -> Я не перезаписывал указатель, возвращенный malloc из первого индекса, и потому что mallocможет дать некоторую память, которая не является "чистой", в пуле памяти вы должны (должны?) перезаписать новый указатель из индекса 0. (На самом деле я думаю, что нет смысла не делать этого.)