GETFIELDS(2) GETFIELDS(2)
NAME
getfields, getmfields, setfields - break a string into
fields
SYNOPSIS
int getfields(char *str, char **ptrs, int nptrs)
int getmfields(char *str, char **ptrs, int nptrs)
char* setfields(char *fielddelim)
DESCRIPTION
Getfields breaks the null-terminated string str into at most
nptrs null-terminated fields and places pointers to the
start of these fields in the array ptrs. It returns the num-
ber of fields and terminates the list of pointers with a
zero pointer. It overwrites some of the bytes in str. If
there are nptr or more fields, the list will not end with
zero and the last `field' will extend to the end of the
input string and may contain delimiters.
A field is defined as a maximal sequence of characters not
in a set of field delimiters. Adjacent fields are separated
by exactly one delimiter. No field follows a delimiter at
the end of string. Thus a string of just two delimiter
characters contains two empty fields, and a nonempty string
with no delimiters contains one field.
Getmfields is the same as getfields except that fields are
separated by maximal strings of field delimiters rather than
just one.
Setfields makes the field delimiters (space and tab by
default) be the characters of the string fielddelim and
returns a pointer to a string of the previous delimiters.
SEE ALSO
strtok in strcat(2)
Page 1 Plan 9 (printed 11/9/25)