.TH GETFIELDS 2.SH NAMEgetfields, gettokens, tokenize \- break a string into fields.SH SYNOPSIS.B #include <u.h>.br.B #include <libc.h>.PP.ta \w'\fLchar* \fP'u.Bint getfields(char *str, char **args, int maxargs, int multiflag,.br.B char *delims).PP.Bint gettokens(char *str, char **args, int maxargs, char *delims).PP.Bint tokenize(char *str, char **args, int maxargs).SH DESCRIPTION.I Getfieldsbreaks the null-terminated.SM UTFstring.I strinto at most.I maxargsnull-terminated fields and places pointers to the start of these fields in the array.IR args .Some of the bytes in.I strare overwritten.If there are more than.I maxargsfields,only the first.I maxargsfields will be set..I Delimsis a.SM UTFstring defining a set of delimiters..PPIf.I multiflagis zero,adjacent fields are separated by exactly one delimiter.A string containing.I ndelimiter characterscontains.IR n +1fields.If the.I multiflagargument is not zero,a field is a non-empty string of non-delimiters..PPGetfieldsreturns the number of tokens processed..PP.I Gettokensis the same as.I getfieldswith.I multiflagnon-zero,except that fields may be quoted using single quotes, in the mannerof.IR rc (1).See.IR quote (2)for related quote-handling software..PP.I Tokenizeis.I gettokenswith .I delimsset to \f5"\et\er\en "\fP..SH SOURCE.B /sys/src/libc/port/tokenize.c.SH SEE ALSO.I strtokin.IR strcat (2),.IR quote (2).
.TH GETFIELDS 2
.SH NAME
getfields, gettokens, tokenize \- break a string into fields
.SH SYNOPSIS
.B #include <u.h>
.br
.B #include <libc.h>
.PP
.ta \w'\fLchar* \fP'u
.B
int getfields(char *str, char **args, int maxargs, int multiflag,
.br
.B
char *delims)
.PP
.B
int gettokens(char *str, char **args, int maxargs, char *delims)
.PP
.B
int tokenize(char *str, char **args, int maxargs)
.SH DESCRIPTION
.I Getfields
breaks the null-terminated
.SM UTF
string
.I str
into at most
.I maxargs
null-terminated fields and places pointers to the start of these fields in the array
.IR args .
Some of the bytes in
.I str
are overwritten.
If there are more than
.I maxargs
fields,
only the first
.I maxargs
fields will be set.
.I Delims
is a
.SM UTF
string defining a set of delimiters.
.PP
If
.I multiflag
is zero,
adjacent fields are separated by exactly one delimiter.
A string containing
.I n
delimiter characters
contains
.IR n +1
fields.
If the
.I multiflag
argument is not zero,
a field is a non-empty string of non-delimiters.
.PP
Getfields
returns the number of tokens processed.
.PP
.I Gettokens
is the same as
.I getfields
with
.I multiflag
non-zero,
except that fields may be quoted using single quotes, in the manner
of
.IR rc (1).
See
.IR quote (2)
for related quote-handling software.
.PP
.I Tokenize
is
.I gettokens
with
.I delims
set to \f5"\et\er\en "\fP.
.SH SOURCE
.B /sys/src/libc/port/tokenize.c
.SH SEE ALSO
.I strtok
in
.IR strcat (2),
.IR quote (2).