我正在寻找一个类似于prettytable但在C++中的库
http://code.google.com/p/prettytable/
我知道如何使用printf或iostream自己生成一个.但是,我想知道是否有一个库.
我只对将这个ASCII表写入控制台感兴趣.
最好是:
std::vector<std::string> headers;
headers.push_back("My Awesome Header 1");
headers.push_back("My Awesome Header 2");
headers.push_back("My Awesome Header 3");
PrettyTablePrinter ptp;
ptp.SetHeaders(headers);
// Set some other options here
ptp.AddRow(data[0]);
ptp.AddRow(data[1]);
ptp.AddRow(data[2]);
ptp.Print(&std::cout);
Run Code Online (Sandbox Code Playgroud)
据我所知,您在这里有三个主要选择:
printf宽度说明符的std::setw和std::setfill)的printf样式格式化程序与流一起使用。我不知道有任何图书馆可以比这更多地帮助您进行“表格设计”。
小智 5
我对在网上找到的任何内容都不满意,所以我写了自己的:https : //github.com/friedmud/variadic_table
它使用可变参数模板,以使每一列都可以保留不同的类型。它也只需要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();
Run Code Online (Sandbox Code Playgroud)
这将输出:
--------------------------------------
| Name | Weight | Age |Brother|
--------------------------------------
|Cody | 180.2| 40|John |
|David | 175.3| 38|Andrew |
|Robert| 140.3| 27|Fande |
--------------------------------------
Run Code Online (Sandbox Code Playgroud)
它正在大型软件项目中积极使用-因此将随着时间的推移进行维护和开发。随时提交问题/ PR
| 归档时间: |
|
| 查看次数: |
15755 次 |
| 最近记录: |