[linux] Re: is strtok niet kosher?

Daniel C. von Asmuth asmuth op bakunin.xs4all.nl
Di Nov 8 20:31:30 CET 2005


Aldus schreef Paul Slootman op Tue, Nov 08, 2005 at 02:17:35PM +0100:
> 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.
> 
> 
> Dat zal Linus een zorg zijn... is een glibc aangelegenheid, en die wordt
> echt niet in de kernel gebruikt.

Hmm, toch eens kijken wat die kernel dan gebruikt:

extern char * strpbrk(const char *,const char *);
extern char * strsep(char **,const char *);
extern __kernel_size_t strspn(const char *,const char *);
extern __kernel_size_t strcspn(const char *,const char *);
extern char * strncpy(char *,const char *, __kernel_size_t);
size_t strlcpy(char *, const char *, size_t);
extern char * strcat(char *, const char *);
extern char * strncat(char *, const char *, __kernel_size_t);
extern size_t strlcat(char *, const char *, __kernel_size_t);
extern int strcmp(const char *,const char *);
extern int strncmp(const char *,const char *,__kernel_size_t);
extern int strnicmp(const char *, const char *, __kernel_size_t);
extern char * strchr(const char *,int);
extern char * strnchr(const char *, size_t, int);
extern char * strrchr(const char *,int);
extern char * strstr(const char *,const char *);
extern __kernel_size_t strlen(const char *);
extern __kernel_size_t strnlen(const char *,__kernel_size_t);
extern void * memset(void *,int,__kernel_size_t);
extern void * memcpy(void *,const void *,__kernel_size_t);
extern void * memmove(void *,const void *,__kernel_size_t);
extern void * memscan(void *,int,__kernel_size_t);
extern int memcmp(const void *,const void *,__kernel_size_t);
extern void * memchr(const void *,int,__kernel_size_t);

Inderdaad, geen strtok.



Daniel 

--
	* New: Windows Vista *

	(buy now, use in 2007)



More information about the Linux mailing list