Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Feb 2008 17:23:33 -0600
From:      Tim Daneliuk <tundra@tundraware.com>
To:        Gary Kline <kline@thought.org>
Cc:        FreeBSD Mailing List <freebsd-questions@freebsd.org>
Subject:   Re: is there an easier way?
Message-ID:  <47BA1375.2010108@tundraware.com>
In-Reply-To: <20080218230351.GA28000@thought.org>
References:  <20080218230351.GA28000@thought.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Gary Kline wrote:
> 	To my fellow C nerds,
> 
> 	It's been a  great manny years since I wrote this appended
> 	snippet.  Now I can't remember why (of if ) I need all the
> 	strcpy() calls.   Is there a simpler, more logical way of 
> 	printing a bunch of string by snipping off the left-most?
> 
> 	In short,, can anyone 'splain why strtok needs all this?
> 
> 	tia,
> 
> 	gary
> 
> 

I don't think you need the copies.  This works just as well:

#include <stdio.h>
#include <string.h>

main()
{
   char *bp, *tok;
   char *delim=" ", s1[256]="abc def ghi jkl mno.";

   bp = s1;   /* Now both point to the literal string to be tokenized */

   while ((tok = strtok(bp, delim)) != NULL)
   {
     bp = NULL;
     printf("tok = [%s]\n", tok);
   }
}



-- 
----------------------------------------------------------------------------
Tim Daneliuk     tundra@tundraware.com
PGP Key:         http://www.tundraware.com/PGP/




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47BA1375.2010108>