char** fishtok( char* string, char delim ){ int len = (int)strlen( string ); int count = 0; int pos[255]; for ( int i = 0; i < len; i++ ){ if ( string[i] == delim ){ pos[count++] = i; } } char **ret; if ( count > 0 ) { ret = (char **)malloc( count ); for ( int i = 0; i < count; i++ ){ ret[i] = (char *)malloc( 255 ); memset( ret[i], 0, 255 ); char *a = NULL; int l1 = ( i > 0 ) ? pos[i] : 0; int l2; if ( i > 0 ) if ( pos[i+1] > 0 ) l2 = pos[i+1]; else l2 = len - l1; else l2 = pos[i]; int y = 0; for ( int x = l1; x < l2; x++, y++ ){ ret[i][y] = x; // >:O } } } return ret; }