Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Ian Collins <ian-news@hotmail.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: strtok() implementation |
| Date | 2016-03-14 15:31 +1300 |
| Message-ID | <dkmm42F53ugU2@mid.individual.net> (permalink) |
| References | <56e59164$0$27830$426a74cc@news.free.fr> |
On 03/14/16 05:13, boon wrote:
> Hello,
>
> I am writing strtok() implementation, just for the fun and to improve my
> C coding style and skills.
>
> Here is my solution.
<snip>
Here's an alternative, avoiding any library functions...
#include <stddef.h>
#include <stdbool.h>
static bool
charIn( char c, const char* delim )
{
while( *delim )
{
if( *delim++ == c )
{
return true;
}
}
return false;
}
static bool
charNotIn( char c, const char* delim )
{
while( *delim && *delim != c )
{
++delim;
}
return *delim == '\0';
}
char*
my_strtok( char* restrict str, const char* restrict delim )
{
static char* last = NULL;
if( !delim ) return NULL;
if( !str && !last ) return NULL;
if( !str )
{
str = last;
}
else
{
last = NULL;
}
while( *str && charIn( *str, delim) )
{
++str;
}
if( *str )
{
char* start = str;
while( *start && charNotIn(*start, delim) )
{
++start;
}
if( *start )
{
*start++ = NULL;
}
last = start;
return str;
}
return NULL;
}
--
Ian Collins
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
strtok() implementation boon <root@localhost> - 2016-03-13 17:13 +0100
Re: strtok() implementation Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-13 10:04 -0700
Re: strtok() implementation boon <root@localhost> - 2016-03-13 18:51 +0100
Re: strtok() implementation Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-03-13 13:38 -0400
Re: strtok() implementation boon <root@localhost> - 2016-03-13 19:05 +0100
Re: strtok() implementation Keith Thompson <kst-u@mib.org> - 2016-03-13 13:50 -0700
Re: strtok() implementation boon <root@localhost> - 2016-03-13 23:10 +0100
Re: strtok() implementation boon <root@localhost> - 2016-03-13 21:06 +0100
Re: strtok() implementation Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-03-13 16:26 -0400
Re: strtok() implementation boon <root@localhost> - 2016-03-13 22:52 +0100
Re: strtok() implementation boon <root@localhost> - 2016-03-13 23:25 +0100
Re: strtok() implementation Ian Collins <ian-news@hotmail.com> - 2016-03-14 15:26 +1300
Re: strtok() implementation boon <root@localhost.localdomain> - 2016-03-14 12:44 +0100
Re: strtok() implementation Tim Rentsch <txr@alumni.caltech.edu> - 2016-03-17 08:23 -0700
Re: strtok() implementation boon <root@localhost> - 2016-03-18 21:09 +0100
Re: strtok() implementation Tim Rentsch <txr@alumni.caltech.edu> - 2016-03-19 14:21 -0700
Re: strtok() implementation Randy Howard <rhoward.mx@EverybodyUsesIt.com> - 2016-03-19 16:25 -0500
Re: strtok() implementation boon <fred900rbc@gmail.com> - 2016-03-24 13:05 -0700
Re: strtok() implementation Tim Rentsch <txr@alumni.caltech.edu> - 2016-03-30 09:13 -0700
Re: strtok() implementation Randy Howard <rhoward.mx@EverybodyUsesIt.com> - 2016-03-30 14:44 -0500
Re: strtok() implementation boon <root@127.10.10.1> - 2016-03-31 10:24 +0200
Re: strtok() implementation Tim Rentsch <txr@alumni.caltech.edu> - 2016-04-05 12:23 -0700
Re: strtok() implementation Ian Collins <ian-news@hotmail.com> - 2016-03-14 15:31 +1300
Re: strtok() implementation boon <root@localhost> - 2016-03-14 20:13 +0100
Re: strtok() implementation Ian Collins <ian-news@hotmail.com> - 2016-03-15 09:48 +1300
Re: strtok() implementation Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-03-14 14:05 -0700
Re: strtok() implementation Ian Collins <ian-news@hotmail.com> - 2016-03-15 10:09 +1300
Re: strtok() implementation Richard Heathfield <rjh@cpax.org.uk> - 2016-03-14 22:02 +0000
Re: strtok() implementation Gareth Owen <gwowen@gmail.com> - 2016-03-14 22:16 +0000
Re: strtok() implementation Keith Thompson <kst-u@mib.org> - 2016-03-14 14:50 -0700
Re: strtok() implementation raltbos@xs4all.nl (Richard Bos) - 2016-03-14 22:06 +0000
Re: strtok() implementation boon <root@localhost> - 2016-03-15 22:14 +0100
Re: strtok() implementation BartC <bc@freeuk.com> - 2016-03-15 21:23 +0000
Re: strtok() implementation raltbos@xs4all.nl (Richard Bos) - 2016-03-17 12:27 +0000
Re: strtok() implementation boon <root@localhost> - 2016-03-15 22:04 +0100
Re: strtok() implementation Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-03-15 18:18 -0400
Re: strtok() implementation boon <root@localhost> - 2016-03-18 21:19 +0100
Re: strtok() implementation boon <root@localhost> - 2016-03-15 22:08 +0100
Re: strtok() implementation boon <root@localhost> - 2016-03-15 22:32 +0100
csiph-web