ApelPro

strtok without string.h

Feb 19th, 2021
570
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2.  
  3.  static char* _last = NULL;
  4.  
  5.  char *strtok( char* str, char token ) {
  6.      char *ptr = NULL;
  7.      if ( str ) {
  8.         ptr = str;
  9.         _last = str;
  10.         while ( *_last && *_last != token ) _last++;
  11.         if ( *_last ) *_last = 0;
  12.         else _last = NULL;
  13.      } else {
  14.         if ( _last ) {
  15.             *_last = token;
  16.             _last++;
  17.             ptr = _last;
  18.             while ( *_last && *_last != token ) _last++;
  19.             if ( *_last ) *_last = 0;
  20.             else _last = NULL;
  21.         }
  22.      }
  23.  
  24.      return ptr;
  25.  }
  26.  
  27. int main() {
  28.     char x[] = "alma korte cseresznye a b c";
  29.     char * y = strtok( x, ' ' );
  30.     while( y ) {
  31.         printf( "%s\n", y );
  32.         y = strtok( NULL, ' ' );
  33.     }
  34.     return 0;
  35. }
RAW Paste Data