Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. #include <string.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. char *ifnull;
  6.  
  7. char *mystrtok(char *str, char *delim)
  8. {
  9. char *token = calloc( 100, sizeof(char));
  10. char *check;
  11. int i,j,k=0,flag;
  12. if(str==NULL)check=ifnull;
  13. else check=str;
  14.  
  15. if(check=='\0')return NULL;
  16.  
  17. for(i=0;check[i];i++){
  18. flag=0;
  19. for(j=0;delim[j];j++){
  20.  
  21. if(i==0 && check[i]==delim[j]){
  22. flag=1;
  23. break;
  24. }
  25. if(check[i]==delim[j]){
  26. token[k]='\0';
  27. ifnull=&check[i];
  28. return token;
  29. }
  30.  
  31. }
  32. if(flag==0)token[k++]=check[i];
  33. }
  34. if(i==strlen(check))ifnull='\0';
  35.  
  36. return token;
  37. }
  38.  
  39. int main()
  40. {
  41. char str1[80] = "abcd-efg-hij";
  42. char str2[80] = "*klm-n*opq-rst";
  43. char s1[5] = "-";
  44. char s2[5] = "*-";
  45. char *token;
  46. token=mystrtok(str1, s1);
  47. puts(token);
  48. token=mystrtok(NULL, s1);
  49. puts(token);
  50. token= mystrtok(str2, s2);
  51. puts(token);
  52. token=mystrtok(NULL, s2);
  53. puts(token);
  54. token = mystrtok(NULL, s2);
  55. puts(token);
  56. token = mystrtok(NULL, s2);
  57. puts(token);
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement