fork(1) download
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4. char buf[99];
  5. int idx, n;
  6. while (fgets(buf, sizeof buf, stdin)) {
  7. buf[strcspn(buf, "\n")] = 0; // remove ENTER
  8. if (sscanf(buf, "%*[^[][%d%n", &idx, &n) != 1) {
  9. printf("no number in %s\n", buf);
  10. } else {
  11. printf("number found: %d (left over string: \"%s\")\n", idx, buf + n);
  12. }
  13. }
  14. return 0;
  15. }
  16.  
Success #stdin #stdout 0s 9424KB
stdin
foo[42]
foo[43
[44]]]]]]
[[[45
[[[46]]]
quux
stdout
number found: 42 (left over string: "]")
number found: 43 (left over string: "")
no number in [44]]]]]]
no number in [[[45
no number in [[[46]]]
no number in quux