fork(8) download
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. char c,s1[200],s2[200],s3[200];
  5. void string_sub(char s1[],char s2[],char s3[])
  6. {
  7. char r[200];
  8. printf("\n%s %s %s\n",s1,s2,s3);
  9. int i,j,k,x,y;
  10. char res[100];
  11. int len1=strlen(s1);
  12. int len2=strlen(s2);
  13. int len3=strlen(s3);
  14. j=0;
  15. i=0;
  16. while(i<len1)//searching for string 2 in string 1
  17. {
  18. if(s2[j]==s1[i])
  19. {
  20. j++;
  21. i++;
  22. if(j==len2)
  23. {
  24. y=i;
  25. x=i-len2;
  26. break;
  27. }
  28. }
  29. else
  30. {
  31. if(s2[0]!=s1[i])
  32. i++;
  33. j=0;
  34. }
  35. }
  36. k=0;
  37. for(i=0;i<x;i++)
  38. {
  39. r[k]=s1[i];
  40. k++;
  41. }
  42. for(i=0;i<len3;i++)
  43. {
  44. r[k]=s3[i];
  45. k++;
  46. }
  47. i=y;
  48. while(i<len1)
  49. {
  50. r[k]=s1[i];
  51. k++;
  52. i++;
  53. }
  54. r[k]='\0';//resultant string into r
  55. k=0;
  56. for(i=0;i<strlen(r);i++)//copying resultant string to s1
  57. {
  58. s1[k]=r[i];
  59. k++;
  60. }
  61. s1[k]='\0';
  62. }
  63. int main(int argc,char *argv[])
  64. {
  65. FILE *fp;
  66. if(argc!=2)
  67. {
  68. printf("Invalid number of arguments:");
  69. exit(0);
  70. }
  71. fp=fopen(argv[1],"r");
  72. if(fp==NULL)
  73. {
  74. printf("Unable to open:");
  75. exit(0);
  76. }
  77. c=fgetc(fp);
  78. int k,f=1;
  79. while(c!=EOF)
  80. {
  81. k=0;
  82. while(c!=';' && f==1)//checking for ';'
  83. {
  84. s1[k]=c;
  85. k++;
  86. c=fgetc(fp);
  87. }
  88. if(f==1)
  89. {
  90. f=0;
  91. s1[k]=='\0';//storing the first string into s1
  92. }
  93. k=0;
  94. c=fgetc(fp);
  95. while(c!=',')
  96. {
  97. s2[k]=c;
  98. k++;
  99. c=fgetc(fp);
  100. }
  101. s2[k]='\0';//2nd string
  102. k=0;
  103. c=fgetc(fp);
  104. while(c!=',')
  105. {
  106. s3[k]=c;
  107. k++;
  108. c=fgetc(fp);
  109. if(c=='\n' || c==EOF)
  110. break;
  111. }
  112. s3[k]='\0';//3rd string
  113. string_sub(s1,s2,s3);
  114. printf("%s",s1);
  115. if(c=='\n')
  116. f=1;
  117. }
  118. return 0;
  119. }
Success #stdin #stdout 0s 1832KB
stdin
Standard input is empty
stdout
Invalid number of arguments: