#include <your-opts.h>
cc [...] -o outfile infile.c -lopts [...]
token_list_t * ao_string_tokenize(char const * string);
The returned pointer should be deallocated with free(3C) when are done using the data. The data are placed in a single block of allocated memory. Do not deallocate individual token/strings.
The structure pointed to will contain at least these two fields:
tkn_ct The number of tokens found in the input string.
tok_list
An array of tkn_ct + 1 pointers to substring tokens, with
the last pointer set to NULL.
There are two types of quoted strings: single quoted (') and double quoted ("). Singly quoted strings are fairly raw in that escape characters (\) are simply another character, except when preceding the following characters:
\ double backslashes reduce to one ' incorporates the single quote into the string fP suppresses both the backslash and newline character
Double quote strings are formed according to the rules of string constants in ANSI-C programs.
EINVAL - There was an unterminated quoted string.
ENOENT - The input string was empty.
ENOMEM - There is not enough memory. @end itemize
#include <stdlib.h> int ix; token_list_t * ptl = ao_string_tokenize(some_string) for (ix = 0; ix < ptl->tkn_ct; ix++) do_something_with_tkn(ptl->tkn_list[ix]); free(ptl);Note that everything is freed with the one call to free(3C).