[linux] Re: is strtok niet kosher?

Paul Slootman paul+nospam op wurtel.net
Di Nov 8 14:17:35 CET 2005


On Tue 08 Nov 2005, Hans Paijmans wrote:

> Gegeven de string "91-1;wst;ezin;C;IA;120;168;N;;IA1-0001;/+"
> zie ik tot mijn ergernis dat het bekende loopje
> 
>   s=strtok(string,";");
>   while (s) do {printf("%s ",s);s=strtok(NULL,";");}
> 
> de lege string tussen de twee puntkommas overslaat.

Bij mij gaat de compiler volgens mij klagen over die "do" ;-)

> Weet Linus dat???

Dat zal Linus een zorg zijn... is een glibc aangelegenheid, en die wordt
echt niet in de kernel gebruikt.

Maar:

DESCRIPTION
       A  `token'  is  a  nonempty  string  of characters not occurring
       in the string delim, followed by \0 or by a character occurring
       in delim.

De lege string is NIET nonempty jhe.

en verder:

BUGS
        Never use these functions. ...


Paul Slootman
(heeft ook net nog wat met strtok_r() gedaan :-)



More information about the Linux mailing list