C на самом деле не имеет «строк» как типа, с которым можно что-то делать. Вместо этого «строки» C представляют собой концепцию - последовательность символов в памяти, оканчивающихся символом NUL. В результате, чтобы что-то делать со строками, вам нужно понимать управление памятью.
Как правило, начинающие программисты (и примеры) работают с массивами фиксированного размера и смесью статических (постоянных) строк и строк в массивах фиксированного размера, которые должны соответствовать (что вы всегда должны проверять).
Итак, в вашем случае вы просто говорите, что у вас "есть строка", но не говорите, как или где у вас ее "есть". Если он находится в буфере памяти, который достаточно велик для его хранения, вы можете изменить буфер на месте, чтобы он содержал (более короткую) желаемую строку. Или вы можете скопировать его в другой буфер, достаточно большой для хранения измененной строки. Это будут две совершенно разные функции C, обе из которых можно описать как «удаление части строки»