Я хочу вставить символы в середину массива символов в C, но сначала я хочу сместить его вправо каждый раз перед добавлением символа, чтобы я не делал потерять то, что уже находится в массиве char (называемое вводом), путем перезаписи.Смещение массива символов до добавления к нему
0
A
ответ
0
Я предполагаю, что вы завершаете массив с нулевым символом, поскольку используете strlen. В этом случае я уверен, что первая итерация цикла for запишет нулевой символ предыдущим символом, и вы, похоже, не замените его. Попробуйте работать
for(k = strlen(input) + 1; k > place42; k--)...
Это должно заменить нулевой символ так, чтобы ваш массив был правильно завершен. Конечно, вы также должны быть уверены, что не переполняете свой массив и не записываете в память, которая не принадлежит вам.
0
Почему бы не написать обычную процедуру вставки с использованием стандартных функций строки C? Что-то вроде этого:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// insert "ins" into "src" at location "at"
char *insert(char *src, char *ins, int at) {
char dst[strlen(src) + strlen(ins) + 1];
strncpy(dst, src, at);
strcpy(dst + at, ins);
strcpy(dst + at + strlen(ins), src + at);
return strdup(dst);
//return strcpy(src, dst); // you could return this if you know src is long enough
}
int main(void) {
char *src = "abcdef";
char *ins = "123";
printf("%s\n", insert(src, ins, 3));
return 0;
}
печатает
abc123def
Смежные вопросы
- 1. Смещение массива символов в C
- 2. смещение массива символов слева направо
- 3. Массив сбрасывается до неопределенного после добавления элементов к нему
- 4. Tableview и кнопки добавления к нему
- 5. Смещение символов внутри строки
- 6. Побитовое смещение массива char
- 7. Размер ArrayList равен 0 после добавления элементов к нему
- 8. Listbox не обновляется после добавления новых элементов к нему
- 9. Смещение массива
- 10. Смещение символов в C++
- 11. Смещение смещения добавления, снова JavaScript
- 12. Как определить модуль для добавления контроллеров к нему?
- 13. Доступ к элементу массива: Неопределенное смещение: 0
- 14. создание массива и добавление к нему значений в шаблоне smarty
- 15. Смещение с предыдущим классом добавления
- 16. Смещение символов в строке слева
- 17. Добавления обивки до колонн добавления до 100%
- 18. Как остановить url от добавления к нему при смене языка
- 19. Невозможно перетащить спрайт после добавления фигуры к нему
- 20. Создание горячего наблюдаемого и добавления к нему вещей
- 21. UICollectionViewCell не кликается после добавления subview к нему
- 22. Wordpress - ссылка перестает работать после добавления параметров GET к нему
- 23. UIScrollView не работает после добавления элементов к нему
- 24. После добавления источника данных, как мне получить к нему доступ?
- 25. Перенаправление на URL-адрес путем добавления строк запроса к нему
- 26. Заменить элементы DIV после вызова Ajax вместо добавления к нему
- 27. Заменить список сущностей вместо добавления к нему при обновлении
- 28. Коа-сеанс сбрасывается после добавления объекта к нему?
- 29. Исключения на извлечение ZipFile, после добавления к нему в Python
- 30. Ruby заменяет весь файл вместо добавления к нему
Это сработало! Благодаря! – thetypist