CSV Writer.
More...
|
|
typedef struct CSV_writer | CSV_writer |
| |
|
| CSV_writer * | CSV_writer_init_from_filename (const char *filename) |
| | Create a new CSV_writer object writing to a file.
|
| |
| CSV_writer * | CSV_writer_init_from_file (FILE *file) |
| | Create a new CSV_writer object writing to a FILE *.
|
| |
| CSV_writer * | CSV_writer_init_to_str (void) |
| | Create a new CSV_writer object writing to a string.
|
| |
| void | CSV_writer_free (CSV_writer *writer) |
| | Free a CSV_writer object.
|
| |
| void | CSV_writer_set_delimiter (CSV_writer *writer, const char delimiter) |
| | Change delimiter character.
|
| |
| void | CSV_writer_set_quote (CSV_writer *writer, const char quote) |
| | Change the quote character.
|
| |
| CSV_status | CSV_writer_end_row (CSV_writer *writer) |
| | End the current row.
|
| |
| CSV_status | CSV_writer_write_field (CSV_writer *writer, const char *field) |
| | Write a single field.
|
| |
| CSV_status | CSV_writer_write_fields (CSV_writer *writer, const CSV_row *fields) |
| | Write a CSV_row without ending the current row.
|
| |
| CSV_status | CSV_writer_write_fields_ptr (CSV_writer *writer, const char *const *fields, const size_t num_fields) |
| | Write an array of strings without ending the current row.
|
| |
| CSV_status | CSV_writer_write_fields_v (CSV_writer *writer,...) |
| | Write from the given variadic parameters without ending the current row.
|
| |
| CSV_status | CSV_writer_write_row (CSV_writer *writer, const CSV_row *fields) |
| | Write a CSV_row.
|
| |
| CSV_status | CSV_writer_write_row_ptr (CSV_writer *writer, const char *const *fields, const size_t num_fields) |
| | Write an array of strings as a row.
|
| |
| CSV_status | CSV_writer_write_row_v (CSV_writer *writer,...) |
| | Write a row from the given variadic parameters.
|
| |
| const char * | CSV_writer_get_str (CSV_writer *writer) |
| | Get the string output.
|
| |
CSV Writer.
Writes data in CSV format, with correct escaping as needed, according to RFC 4180 rules. Allows writing by rows or field-by-field. Mixing these is not recommended, but is possible. Row-wise methods will append to the row started by any field-wise methods.
◆ CSV_writer_end_row()
| CSV_status CSV_writer_end_row |
( |
CSV_writer * | writer | ) |
|
End the current row.
- Returns
- CSV_OK if successful
-
CSV_IO_ERROR if an error occurs while writing
◆ CSV_writer_free()
| void CSV_writer_free |
( |
CSV_writer * | writer | ) |
|
Free a CSV_writer object.
Closes the file if created with CSV_writer_init_from_filename
◆ CSV_writer_get_str()
| const char * CSV_writer_get_str |
( |
CSV_writer * | writer | ) |
|
◆ CSV_writer_init_from_file()
| CSV_writer * CSV_writer_init_from_file |
( |
FILE * | file | ) |
|
Create a new CSV_writer object writing to a FILE *.
- Parameters
-
| file | FILE * opened in write mode |
- Returns
- New CSV_writer. Free with CSV_writer_free()
◆ CSV_writer_init_from_filename()
| CSV_writer * CSV_writer_init_from_filename |
( |
const char * | filename | ) |
|
Create a new CSV_writer object writing to a file.
- Parameters
-
| filename | Path to write to. If the file already exists, it will be overwritten |
- Returns
- New CSV_writer. Free with CSV_writer_free()
-
NULL if unable to open the file. Use strerror / perror for details
◆ CSV_writer_init_to_str()
| CSV_writer * CSV_writer_init_to_str |
( |
void | | ) |
|
◆ CSV_writer_set_delimiter()
| void CSV_writer_set_delimiter |
( |
CSV_writer * | writer, |
|
|
const char | delimiter ) |
Change delimiter character.
- Parameters
-
| delimiter | New delimiter character |
◆ CSV_writer_set_quote()
| void CSV_writer_set_quote |
( |
CSV_writer * | writer, |
|
|
const char | quote ) |
Change the quote character.
- Parameters
-
◆ CSV_writer_write_field()
| CSV_status CSV_writer_write_field |
( |
CSV_writer * | writer, |
|
|
const char * | field ) |
◆ CSV_writer_write_fields()
| CSV_status CSV_writer_write_fields |
( |
CSV_writer * | writer, |
|
|
const CSV_row * | fields ) |
Write a CSV_row without ending the current row.
- Parameters
-
◆ CSV_writer_write_fields_ptr()
| CSV_status CSV_writer_write_fields_ptr |
( |
CSV_writer * | writer, |
|
|
const char *const * | fields, |
|
|
const size_t | num_fields ) |
Write an array of strings without ending the current row.
- Parameters
-
| fields | Array of strings to write |
| num_fields | Size of fields array |
- Returns
- CSV_OK if successful
-
CSV_IO_ERROR if an error occurs while writing
◆ CSV_writer_write_fields_v()
| CSV_status CSV_writer_write_fields_v |
( |
CSV_writer * | writer, |
|
|
| ... ) |
Write from the given variadic parameters without ending the current row.
- Parameters
-
| ... | const char * fields to write. Last parameter must be NULL |
- Returns
- CSV_OK if successful
-
CSV_IO_ERROR if an error occurs while writing
◆ CSV_writer_write_row()
| CSV_status CSV_writer_write_row |
( |
CSV_writer * | writer, |
|
|
const CSV_row * | fields ) |
Write a CSV_row.
- Parameters
-
◆ CSV_writer_write_row_ptr()
| CSV_status CSV_writer_write_row_ptr |
( |
CSV_writer * | writer, |
|
|
const char *const * | fields, |
|
|
const size_t | num_fields ) |
Write an array of strings as a row.
- Parameters
-
| fields | Array of strings to write |
| num_fields | Size of fields array |
- Returns
- CSV_OK if successful
-
CSV_IO_ERROR if an error occurs while writing
◆ CSV_writer_write_row_v()
| CSV_status CSV_writer_write_row_v |
( |
CSV_writer * | writer, |
|
|
| ... ) |
Write a row from the given variadic parameters.
- Parameters
-
| ... | const char * fields to write. Last parameter must be NULL |
- Returns
- CSV_OK if successful
-
CSV_IO_ERROR if an error occurs while writing