/* cc -o testcase3 testcase3.c && ./testcase3 */ #include #include int main() { #if 1 char line[] = "pcm4: (play/rec) default"; #else char line[] = "pcm4: (Rear Analog 5.1/2.0)> (play/rec) default"; #endif int device; if (sscanf(line, "pcm%i: ", &device) != 1) return 0; char *k = strchr(line, ':'); if (!k) return 0; k++; k += strspn(k, " "); if (*k == '<') { char *e = strrchr(k, '>'); if (e) { *e = 0; ++k; } } printf("%d: %s\n", device, k); return 0; }