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