fork download
  1. #include <string.h>
  2. #include <stdio.h>
  3.  
  4. void replace(const char* str, char* result, const char* sep,
  5. const char* replace_what, const char* replace_with)
  6. {
  7. result[0] = '\0';
  8. while(*str != '\0') {
  9. size_t len = strspn(str, sep);
  10. strncat(result, str, len);
  11. str += len;
  12.  
  13. len = strcspn(str, sep);
  14. if(strncmp(str, replace_what, len) == 0)
  15. strcat(result, replace_with);
  16. else
  17. strncat(result, str, len);
  18. str += len;
  19. }
  20. }
  21.  
  22. int main()
  23. {
  24. char origin[] = "a1aaa1a";
  25. char result[100];
  26. char replace_what[] = "a";
  27. char replace_with[] = "b";
  28. char tok[] = "123";
  29. replace(origin, result, tok, replace_what, replace_with);
  30. printf("%s", result);
  31. return 0;
  32. }
Success #stdin #stdout 0s 2052KB
stdin
Standard input is empty
stdout
b1aaa1b