У меня есть куча строк, которые выглядят как:гр - группировка строк в структуры
'Hello1-FOO', 'Aello2-FOO', 'Bye1-BAR', 'Bye3-BAR', 'Hello22-FOO', 'Bye4-BAR', 'Welcome-BAR' ...
Все они хранятся на структуры.
struct str {
char *strings;
}
...
struct str **t_str;
size_t j;
t_str = malloc(sizeof *t_str * 20);
for (j = 0; j < 20; j++)
t_str[j] = malloc(sizeof *t_str[j]);
...
t_str[0]->strings = "Hello1-FOO";
t_str[1]->strings = "Aello2-FOO";
....
То, что я хотел бы сделать, это показать (вид) их по категориям, так что они выглядят примерно так:
FOO:
Hello1-FOO
Aello2-FOO
Hello22-FOO
BAR:
Bye4-BAR
Welcome-BAR
Bye1-BAR
Bye3-BAR
В основном сгруппировать их маркером, после того, как «-»
Что было бы хорошим способом сделать это? Должен ли я хранить их во второй структуре после обработки строки? Любая идея будет оценена по достоинству. Спасибо
Первое, что нужно исправить, это то, что ваша структура допускает только одну строку. Если это реальный код, вы еще недостаточно продвинулись, чтобы решить эту проблему. –
@David Thornley: Я уже выделил память для всех строк, упомянутых выше. Я могу отображать их (без группировки) без проблем. Я просто хотел прокомментировать, где они находятся. – Frank
У вас есть один экземпляр 'str' для каждой строки? Вот как выглядит ваш код, но описание заставило его звучать так, как будто вы хотели сохранить все строки в одном экземпляре 'str' –