Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought





   bufsplit(3G)                                                   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);

   NOTES
         bufsplit changes the delimiters to null bytes in buf.
















   7/91                                                                 Page 1





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