Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #83812

Re: strtok() implementation

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: strtok() implementation
Date 2016-03-13 13:50 -0700
Organization None to speak of
Message-ID <lnoaaiksqt.fsf@kst-u.example.com> (permalink)
References <56e59164$0$27830$426a74cc@news.free.fr> <nc48cd$hqj$1@dont-email.me> <56e5abc8$0$27836$426a34cc@news.free.fr>

Show all headers | View raw


boon <root@localhost> writes:
> On 03/13/2016 06:38 PM, Eric Sosman wrote:

[...]

> I apologize. I have not read completely the manual page.

I suggest reading the standard rather than (or in addition to) the
manual page; see
    http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf
Man pages are *usually* accurate, but the standard is definitive.

> I will take this remark into an account for my next implementation.
>
>>      Since you're doing this as an exercise you might consider
>> most of the Standard library off-limits.  But since you're using
>> strlen() and strchr(), perhaps you aren't really trying to avoid
>> using the Standard functions after all.  If you're willing to use
>> a few others, I commend strspn() and strcspn() to your attention.

Or you could use strtok().  8-)}

> Indeed, it will be better to avoid the Standard functions to re-write a 
> Standard function.

It depends on your goal.  For a production implementation of
the C standard library, it's perfectly appropriate for standard
functions to call other standard functions.  (For example glibc's
strtok() calls strspn(), strpbrk(), and a non-standard function
called __rawmemchr().)  But if your goal is to learn, implementing
everything from scratch is a good approach.

[...]

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Back to comp.lang.c | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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