On Wed, 17 Sep 2008 00:45:46 -0700 (PDT), Unga <[EMAIL PROTECTED]> wrote: > Hi all > > I'm writing an C application on FreeBSD 7+. I need to split a string > by another string (ie. the delimiter is "xxx") similar to strtok split > a string by a single char. Is there a standard function or is there a > FreeBSD functions for this?
You can use strstr() to look for the "xxx" delimited and split that that point: % cat -n foo.c 1 #include <stdio.h> 2 #include <string.h> 3 4 int 5 main(void) 6 { 7 char text[] = "Hello string world"; 8 char delim[] = " string "; 9 size_t dlen = sizeof(delim) / sizeof(delim[0]) - 1; 10 char *p; 11 12 p = strstr(text, delim); 13 if (p == NULL) 14 return 0; /* No match */ 15 16 printf("First part = \"%.*s\"\n", p - text, text); 17 printf("Second part = \"%s\"\n", p + dlen); 18 return 0; 19 } % cc -std=iso9899:1990 -O2 -Wall foo.c % ./a.out First part = "Hello" Second part = "world" % _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"