glenda.party
term% ls -F
term% cat index.txt
GETFIELDS(2)                  System Calls Manual                 GETFIELDS(2)



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.  Delimiters 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  ex‐
       actly 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).   Any
       such  quotes  remain  in  the resulting args.  See quote(2) for related
       quote-handling software.

       Tokenize is similar to gettokens with delims set to  "\t\r\n ",  except
       that quotes are interpreted but do not appear in the resulting args.

SOURCE
       /sys/src/libc/port/getfields.c
       /sys/src/libc/port/tokenize.c

SEE ALSO
       strtok in strcat(2), quote(2).



                                                                  GETFIELDS(2)