fork(1) download
  1. #include <iostream>
  2. #include <string.h>
  3. #include <cstdio>
  4. using namespace std;
  5.  
  6. void rep(char *str,char *fstr,char *rstr)
  7. {
  8. int i,j,k,n,x,y=0,cnt=0;
  9. char sss[50];
  10. memset(sss, 0, 50);
  11. n=strlen(fstr);
  12. x=strlen(rstr);
  13. for(i=0;str[i]!='\0';i++) {
  14. if(str[i]==fstr[0]) {
  15. k=1;
  16. j=i+1;
  17. while(j<i+n) {
  18. if(str[j]==fstr[k]) {
  19. j++;
  20. k++;
  21. }
  22. else break;
  23. }
  24. if(j==i+n) {
  25. strcat(sss,rstr);
  26. cnt++;
  27. i=j-1;
  28. y=j+(x-n)*cnt-1;
  29. }
  30. }
  31. else sss[y]=str[i];
  32. y++;
  33. }
  34.  
  35. sss[y]='\0';
  36. strcpy(str,sss);
  37. }
  38. int main()
  39. {
  40. char str[50]="iffordowhileelsewhilebreak";
  41. char fstr[10]="while";
  42. char rstr[10]="struct";
  43. /*gets(str);
  44.   gets(fstr);
  45.   gets(rstr);*/
  46. rep(str,fstr,rstr);
  47. cout<<str<<endl;
  48. return 0;
  49. }
  50.  
Success #stdin #stdout 0s 4256KB
stdin
Standard input is empty
stdout
iffordostructelsestructbreak