В принципе мне нужно написать функцию разделения, и в настоящее время мне нужно знать, как заполнить подстроки с указателями на символы от s.двойной указатель c ошибка памяти
у меня есть:
char *s = "--ab--c--";
char **substrings;
int split(char *s, int start, char sep, char **substrings, int max)
Я не знаю, если определение *s
и **substrings
являются правильными.
И мне нужно назначить указатели *s
такие как **substrings
будет содержать:
{ "", "ab", "c", "" }
Формальное определение подстрок
substrings - the array to populate with pointers to substrings of s
Я не знаю, я гугле двойной заостренный и не мог выяснить.
Размер *s
неизвестен, а число **substrings
известно только при выполнении программы.
Я новичок в C, но я думаю, что мне нужно что-то вроде этого:
substrings[0][0] = "";
substrings[1][0] = "a";
substrings[1][1] = "c";
substrings[2][0] = "c";
substrings[3][0] = "a";
В фрагменте кода, который вы только что показали - вы не выделяете пространство ни для указателей строк, ни для строк. – Kamiccolo
Должен ли я найти память в функции split, я попытался выделить с помощью malloc, но получил ошибку памяти (core dumped) – Jonhhan
, так что, могли бы вы показать нам, что на самом деле вы пробовали, пожалуйста? Да, все в порядке. Несмотря на это, не лучшая практика. – Kamiccolo