char* InputSymbol(char* Stri);
R = InputSymbol(S,Symb);
char buf[MAX]; // отсортированный буфер.
int spaces = ...; // количество пробелов в его начале ('\n' тоже нужно учитывать)
char *res_str = buf + spaces; // результирующая строка.
int FindNum(char *s_a, char *s_b)
{
int j = 0;
char *p;
while (p = strstr(s_a, s_b))
{
printf("%i) ", ++j);
puts(p);
strcpy_s(s_a, MAXSTR, p + strlen(s_b));
}
return j;
}
Но в строке *arr[1] = (char *)malloc(100); происходит ошибка Segmentation faultПотому что arr[0] - указатель, *arr[0] - его разыменовывание. Так как вы не про инициализировали массив, в arr[0] лежит мусор. У вас во втором листинге правильный вариант есть
arr[0] = (char *)malloc(10);
.arr[0] = (char *)malloc(10);
strcpy(arr[0], "string");
Где, k имеет тип int
free(k);