Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

setbuf(3S)

setbuffer(3C)



bufsplit(3G)                      SDK R4.11                     bufsplit(3G)


NAME
       bufsplit - split buffer into fields

SYNOPSIS
       cc [flag ...] file ...  -lgen [library ...]

       #include <libgen.h>

       size_t bufsplit (char *buf, size_t n, char **a);

DESCRIPTION
       bufsplit examines the buffer, buf, and assigns values to the pointer
       array, a, so that the pointers point to the first n fields in buf
       that are delimited by tabs or new-lines.

       To change the characters used to separate fields, call bufsplit with
       buf pointing to the string of characters, and n and a set to zero.
       For example, to use ':', '.', and ',' as separators along with tab
       and new-line:

              bufsplit (":.,\t\n", 0, (char**)0 );

RETURN VALUE
       The number of fields assigned in the array a.  If buf is zero, the
       return value is zero and the array is unchanged.  Otherwise the value
       is at least one.  The remainder of the elements in the array are
       assigned the address of the null byte at the end of the buffer.

EXAMPLES
       /*
        * set a[0] = "This", a[1] = "is", a[2] = "a",
        * a[3] = "test"
        */
       bufsplit("This\tis\ta\ttest\n", 4, a);

SEE ALSO
       setbuf(3S), setbuffer(3C).

NOTES
       bufsplit changes the delimiters to null bytes in buf.


Licensed material--property of copyright holder(s)

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