I am looking for a library similar to prettytable but in C++
http://code.google.com/p/prettytable/
I know how to generate one myself using either printf or i
Since I have not found a good C++ solution, I have written one for you all
https://github.com/dattanchu/bprinter/wiki
It's pretty simple to write an html to create tables in C++, you don't need a library for that. On the other hand if you want table output on console, it can be done, but it's not that easy, especially if you need to do vertical alignment, breaking strings, etc.
To my knowledge, you have three major options here :
printf
style formatters with streams.I'm not aware of any library which could help you in the "table design" more than this.
You may achieve it using ncurses library. Its C library.
While not exactly what you're looking for, Boost.Spirit contains a library (named Karma) usable to generate this kind of output fairly easily. The docs are here.
I wasn't satisfied with any of the ones I found online so I wrote my own: https://github.com/friedmud/variadic_table
It uses variadic templates to allow each column to hold a different type. It also only requires C++11.
VariadicTable<std::string, double, int, std::string> vt({"Name", "Weight", "Age", "Brother"});
vt.addRow({"Cody", 180.2, 40, "John"});
vt.addRow({"David", 175.3, 38, "Andrew"});
vt.addRow({"Robert", 140.3, 27, "Fande"});
vt.print();
This will output:
--------------------------------------
| Name | Weight | Age |Brother|
--------------------------------------
|Cody | 180.2| 40|John |
|David | 175.3| 38|Andrew |
|Robert| 140.3| 27|Fande |
--------------------------------------
This is actively being used in a large software project - so it will be maintained and developed over time. Feel free to submit issues / PRs