|
NAMErtbl_create , rtbl_destroy ,
rtbl_set_flags ,
rtbl_get_flags ,
rtbl_set_prefix ,
rtbl_set_separator ,
rtbl_set_column_prefix ,
rtbl_set_column_affix_by_id ,
rtbl_add_column ,
rtbl_add_column_by_id ,
rtbl_add_column_entry ,
rtbl_add_column_entry_by_id ,
rtbl_new_row , rtbl_format
—
format data in simple tables
LIBRARYThe roken library (libroken, -lroken)SYNOPSIS#include <rtbl.h>
int
int
int
int
rtbl_t
void
int
int
int
unsigned int
void
int
int
int
DESCRIPTIONThis set of functions assemble a simple table consisting of rows and columns, allowing it to be printed with certain options. Typical use would be output from tools such as ls(1) or netstat(1), where you have a fixed number of columns, but don't know the column widths before hand.A table is created with Global flags on the table are set with
rtbl_set_flags and retrieved with
rtbl_get_flags. At present the only defined flag is
Before adding data to the table, one or more columns need to be
created. This would normally be done with
There's also a way to add columns by column name with
To add data to a column you use
Each column can have a separate prefix and suffix, set with rtbl_set_column_affix_by_id; rtbl_set_column_prefix allows setting the prefix only by column name. In addition to this, columns may be separated by a string set with rtbl_set_separator (by default columns are not seprated by anything). The finished table is printed to file with rtbl_format. EXAMPLESThis program:#include <stdio.h> #include <rtbl.h> int main(int argc, char **argv) { rtbl_t table; table = rtbl_create(); rtbl_set_separator(table, " "); rtbl_add_column_by_id(table, 0, "Column A", 0); rtbl_add_column_by_id(table, 1, "Column B", RTBL_ALIGN_RIGHT); rtbl_add_column_by_id(table, 2, "Column C", 0); rtbl_add_column_entry_by_id(table, 0, "A-1"); rtbl_add_column_entry_by_id(table, 0, "A-2"); rtbl_add_column_entry_by_id(table, 0, "A-3"); rtbl_add_column_entry_by_id(table, 1, "B-1"); rtbl_add_column_entry_by_id(table, 2, "C-1"); rtbl_add_column_entry_by_id(table, 2, "C-2"); rtbl_add_column_entry_by_id(table, 1, "B-2"); rtbl_add_column_entry_by_id(table, 1, "B-3"); rtbl_add_column_entry_by_id(table, 2, "C-3"); rtbl_add_column_entry_by_id(table, 0, "A-4"); rtbl_new_row(table); rtbl_add_column_entry_by_id(table, 1, "B-4"); rtbl_new_row(table); rtbl_add_column_entry_by_id(table, 2, "C-4"); rtbl_new_row(table); rtbl_format(table, stdout); rtbl_destroy(table); return 0; } will output the following: Column A Column B Column C A-1 B-1 C-1 A-2 B-2 C-2 A-3 B-3 C-3 A-4 B-4 C-4
Visit the GSP FreeBSD Man Page Interface. |