Реализовать функцию - Insert(s, s1, n). Вставка в строку s подстроки s1, начиная с позиции n - C (СИ)

Формулировка задачи:

Функция - Insert(s,s1,n). Вставка в строку s подстроки s1, начиная с позиции n (аналогичная библиотечная функция есть в Pascal).

Код к задаче: «Реализовать функцию - Insert(s, s1, n). Вставка в строку s подстроки s1, начиная с позиции n - C (СИ)»

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;
}
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

7   голосов, оценка 4.000 из 5


СДЕЛАЙТЕ РЕПОСТ