diff --git a/AcquiringLand/Fundamentals/insert_string.c b/AcquiringLand/Fundamentals/insert_string.c index 3ad218b..0bb36ab 100644 --- a/AcquiringLand/Fundamentals/insert_string.c +++ b/AcquiringLand/Fundamentals/insert_string.c @@ -4,12 +4,49 @@ char **insert_string(char **strings_array, int *array_size, char *insert_str, int index){ - char **rslt = malloc(array_size + 1 * sizeof(char)); + char **rslt = malloc((*array_size + 1 )* sizeof(char *)); - int index = 0; - while (*(strings_array + index)){ + 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); +} + diff --git a/AcquiringLand/Fundamentals/test b/AcquiringLand/Fundamentals/test new file mode 100755 index 0000000..3e55db1 Binary files /dev/null and b/AcquiringLand/Fundamentals/test differ