Ура!
Хотя можно обойтись работой на месте, где находится
s. Если, конечно, его хватает. Тогда достаточно работы только с той её частью, на которую указывает
buf, как и раньше.
-- Пн дек 09, 2013 02:06:25 --Точнее, не совсем ура.
Пока работать всё же не будет:
memmove не добавляет
'\0' после скопированного куска памяти, т. к. это «общая» функция. С ней придётся дописывать ноль вручную. Если его не дописать,
strcat будет приписывать не туда. Повезёт только если
result был, например, до того забит нулями.
Использование
memmove здесь вообще необязательно. Я же упоминал
strncpy. Правда, там тоже надо вручную приписывать
'\0', если он не попадает в число символов, которые надо скопировать.