C program to insert substring into a string: This code inserts the target string into the source string. For example if the source string is "c programming" and target string is " is amazing" (please note there is space at beginning) and if we add target string to source string at position 14 then we obtain the string "c programming is amazing". In our c code we will make a function which perform the desired task and we pass three arguments to it the source string, target string and position. You can insert the string at any valid position.
#include <stdio.h> #include <string.h> #include <stdlib.h> void insert_substring(char*, char*, int); char* substring(char*, int, int); int main() { char text[100], substring[100]; int position; printf("Enter some text\n"); gets(text); printf("Enter the string to insert\n"); gets(substring); printf("Enter the position to insert\n"); scanf("%d", &position); insert_substring(text, substring, position); printf("%s\n",text); return 0; } void insert_substring(char *a, char *b, int position) { char *f, *e; int length; length = strlen(a); f = substring(a, 1, position - 1 ); e = substring(a, position, length-position+1); strcpy(a, ""); strcat(a, f); free(f); strcat(a, b); strcat(a, e); free(e); } char *substring(char *string, int position, int length) { char *pointer; int c; pointer = malloc(length+1); if( pointer == NULL ) exit(EXIT_FAILURE); for( c = 0 ; c < length ; c++ ) *(pointer+c) = *((string+position-1)+c); *(pointer+c) = '\0'; return pointer; }
Download Insert substring program.
Output of program:
