is there an easier way?

Tim Daneliuk tundra at tundraware.com
Mon Feb 18 23:23:39 UTC 2008


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 at tundraware.com
PGP Key:         http://www.tundraware.com/PGP/



More information about the freebsd-questions mailing list