fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. char * cut_between(
  6. char * const str,
  7. char const * const from,
  8. char const * const to) {
  9. char * const startMark = strstr(str, from);
  10. if (! startMark) {
  11. return NULL;
  12. }
  13. char * const endMark =
  14. strstr(startMark+strlen(from), to);
  15. if (endMark) {
  16. strcpy(startMark, endMark+strlen(to));
  17. return startMark + strlen(startMark) + 1;
  18. } else {
  19. *startMark = '\0';
  20. return startMark + 1;
  21. }
  22. }
  23.  
  24. int main() {
  25. char * const input = malloc(400);
  26. fgets(input, 400, stdin);
  27. char const * const end =
  28. cut_between(input, "from", "to");
  29. if (end) {
  30. char const * const result =
  31. realloc(input, end - input);
  32. puts(result);
  33. }
  34. return 0;
  35. }
Success #stdin #stdout 0s 2296KB
stdin
Hi there! I'm from Germany, where are you from? To late to find a sensible end.
stdout
Hi there! I'm  find a sensible end.