Посмотрите на функцию strstr
.Это позволяет вам найти указатель на первое вхождение определенной строки (скажем, "Group:"
) внутри другой строки.Если у вас есть два указателя (на начало и конец строки), вы можете выделить достаточно памяти, используя malloc
(не забывайте завершающий ноль '\0'
), используйте memcpy
для копирования символов и, наконец,завершить ноль в вашей строке.
int main() {
char ac_auto_lvalue[] = "ONLY / GROUP: OTHERS EXAMPLE /-----------------------------";
// Adding 7 to compensate for the length of "GROUP: "
const char *p1 = strstr(ac_auto_lvalue, "GROUP: ")+7;
const char *p2 = strstr(p1, " /");
size_t len = p2-p1;
char *res = (char*)malloc(sizeof(char)*(len+1));
strncpy(res, p1, len);
res[len] = '\0';
printf("'%s'\n", res);
return 0;
}