53 lines
1.1 KiB
C
53 lines
1.1 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
char **insert_string(char **strings_array, int *array_size, char *insert_str, int index){
|
|
|
|
|
|
char **rslt = malloc((*array_size + 1 )* sizeof(char *));
|
|
|
|
int index_clc = 0;
|
|
//char *temp;
|
|
|
|
while (index_clc < *array_size){
|
|
|
|
|
|
if (index_clc == index){
|
|
*(rslt + index_clc) = insert_str;
|
|
index_clc ++;
|
|
}
|
|
else{
|
|
*(rslt + index_clc) = *(strings_array + index_clc);
|
|
}
|
|
|
|
|
|
/*
|
|
if (index_clc >= index){
|
|
temp = *(strings_array + index_clc);
|
|
*(rslt + index + 1) = *(strings_array + index);
|
|
}*/
|
|
|
|
index_clc ++;
|
|
}
|
|
//*(rslt + index_clc) = temp;
|
|
//*(strings_array + index) = insert_str;
|
|
|
|
//free(temp);
|
|
return rslt;
|
|
}
|
|
|
|
int main(){
|
|
char *tests[] = {"This", "is", "a", "long", "example"};
|
|
char *ins = "very";
|
|
int ted = 5;
|
|
|
|
char **rslt = insert_string(tests, &ted, ins ,3);
|
|
int index = 0;
|
|
while (index < 6){
|
|
printf("%s", *(rslt + index));
|
|
index ++;
|
|
}
|
|
free (rslt);
|
|
}
|
|
|