Реализовать функцию - Insert(s, s1, n). Вставка в строку s подстроки s1, начиная с позиции n - C (СИ)
Формулировка задачи:
Функция - Insert(s,s1,n). Вставка в строку s подстроки s1, начиная с позиции n (аналогичная библиотечная функция есть в Pascal).
Решение задачи: «Реализовать функцию - Insert(s, s1, n). Вставка в строку s подстроки s1, начиная с позиции n»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
#include <assert.h>
char* Insert(char* s, const char* s1, unsigned n) {
unsigned lenS = strlen(s);
unsigned lenS1 = strlen(s1);
assert(n <= lenS);
memmove(s + n + lenS1, s + n, lenS - n + 1);
memcpy(s + n, s1, lenS1);
return s;
}
int main() {
char text[64] = "Hello !";
printf("%s\n", Insert(text, "World", 6));
return 0;
}