Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (2) — Plan9 4th Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

strcat(2)

quote(2)

GETFIELDS(2)

NAME

getfields, gettokens, tokenize − break a string into fields

SYNOPSIS

­#include <u.h>
­#include <libc.h>

intgetfields(char ∗str, char ∗∗args, int maxargs, int multiflag,
    char ∗delims)

intgettokens(char ∗str, char ∗∗args, int maxargs, char ∗delims)

inttokenize(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 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(2) for related quote-handling software.

­Tokenize is ­gettokens with ­delims set to "\t\r\n ". 

SOURCE

­/sys/src/libc/port/tokenize.c

SEE ALSO

­strtok in strcat(2), quote(2).

Plan 9  —  November 07, 2003

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026