fork(4) download
  1. #include <stdio.h>
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <string.h>
  6.  
  7. char* strrpl(char *str, char* find, char *replace)
  8. {
  9. int i;
  10. char *pt = strstr(str, find), *firstStr;
  11. if (!pt) return str;
  12. firstStr = calloc(100, sizeof(char));
  13. // copy just until i find what i need to replace
  14. // i tried to specify the length of firstStr just with pt - str
  15. strncpy(firstStr, str, strlen(str) - strlen(pt));
  16.  
  17. strcat(firstStr, replace);
  18. strcat(firstStr, pt + strlen(find));
  19.  
  20. for(i = 0; i < strlen(firstStr); i++)
  21. str[i] = firstStr[i];
  22. return str;
  23. }
  24.  
  25. int main()
  26. {
  27. char *s, *s1, *s2;
  28. s = (char* )malloc(100 * sizeof(char));
  29. s1 = (char* )malloc(100 * sizeof(char));
  30. s2 = (char* )malloc(100 * sizeof(char));
  31. scanf("%s", s1);
  32. scanf("%s", s2);
  33. scanf("%s", s);
  34.  
  35. printf("%s", strrpl(s1, s2, s));
  36. return 0;
  37. }
  38.  
Success #stdin #stdout 0s 2384KB
stdin
quick_brown_fox
brown
yellow
stdout
quick_yellow_fox