![]() |
![]()
| ![]() |
![]()
NAMExt_ff_dsv_line_read() - Read a line of generic tabular data LIBRARY#include <xtend/ff-dsv.h> -lxtend SYNOPSISint xt_ff_dsv_line_read(xt_ff_dsv_line_t *xt_ff_dsv_line, FILE *stream, const char *delims) ARGUMENTSxt_ff_dsv_line Pointer to a xt_ff_dsv_line_t structure to hold the fields stream FILE stream from which the line is read delims Array of acceptable delimiters DESCRIPTIONRead a line of an arbitrary DSV file into a xt_ff_dsv_line_t object. Memory is allocated for the text of the fields, and it must be freed using fsv_line_free(3) before calling xt_ff_dsv_line_read(3) on the same object again. The xt_ff_dsv_line_t structure contains an array of strings, each holding one field from the line, and an an array of delimiters, each holding the character that ended the corresponding field. Note that each field could potentially end with a different delimiter, as multiple delimiters can be specified. This function serves a purpose similar to the split() functions present in many languages. However, it does not need to read an entire line into a character array and then split the array. Instead, it separates fields as they are read from the input stream. RETURN VALUESActual delimiter of last field (should be newline) EXAMPLESxt_ff_dsv_line_t *line = xt_ff_dsv_line_new(); while ( xt_ff_dsv_line_read(line, stdin, "\t") != EOF ) { SEE ALSOxt_ff_dsv_line_new(3), xt_ff_dsv_line_free(3), xt_ff_dsv_line_read(3), xt_ff_dsv_line_write(3), xt_ff_dsv_line_copy(3), xt_ff_dsv_read_field(3), xt_ff_dsv_read_field_malloc(3), xt_ff_dsv_skip_field(3), xt_ff_dsv_skip_rest_of_line(3)
|