GETFIELDS(3) GETFIELDS(3)
NAME
getfields, gettokens, tokenize - break a string into fields
SYNOPSIS
#include <u.h>
#include <libc.h>
int getfields(char *str, char **args, int maxargs, int
multiflag,
char *delims)
int gettokens(char *str, char **args, int maxargs, char
*delims)
int tokenize(char *str, char **args, int maxargs)
DESCRIPTION
Getfields places into the array args pointers to the first
maxargs fields of the null terminated UTF string str. Delim-
iters between these fields are set to null.
Fields are substrings of str whose definition depends on the
value of multiflag. If multiflag is zero, adjacent fields
are separated by exactly one delimiter. For example
getfields("#alice#bob##charles###", arg, 3, 0, "#");
yields three substrings: null-string , alice, and
bob##charles###. If the multiflag argument is not zero, a
field is a non-empty string of non-delimiters. For example
getfields("#alice#bob##charles###", arg, 3, 1, "#");
yields the three substrings: alice, bob, and charles###.
Getfields returns the number of fields pointed to.
Gettokens is the same as getfields with multiflag non-zero,
except that fields may be quoted using single quotes, in the
manner of rc(1). See quote(3) for related quote-handling
software.
Tokenize is gettokens with delims set to "\t\r\n ".
SOURCE
/usr/local/plan9/src/lib9/tokenize.c
SEE ALSO
strtok in strcat(3), quote(3).
Page 1 Plan 9 (printed 10/29/25)