如何创建表?

How can I create a table?

本文关键字:创建 何创建      更新时间:2023-10-16

我有一个任务,使用我从 c++ 制作的代码的输入来编写一个.txt文件,我想做一个表,最简单的解决方案是使用 ncurses。 我被教导使用 fstream,但我不知道如何使用 fstream 从 ncurses 获取输出

你不需要 ncurses 来制作表格。作为提示,请查看 std::setw 和 std::right iostream 操纵器。它们分别定义字段在打印时应占用的最小空间量以及该空间内的对齐方式。

作为一个简单的例子,让我们打印一个表格:

#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
using std::cout;
using std::endl;
using std::right;
using std::setw;
using std::string;
using std::vector;
int main() {
vector<vector<string>> data = {
{ "Homer", "Simpson", "42" },
{ "Marge", "Simpson", "35" },
{ "Bart", "Simpson", "10" },
{ "Lisa", "Simpson", "9" },
{ "Maggie", "Simpson", "2" },
{ "Ned", "Flanders", "40" },
};
for (auto& row : data) {
cout << setw(10) << row[0] << setw(10) << row[1] << setw(5) << row[2] << endl;
}
}

输出:

Homer   Simpson   42
Marge   Simpson   35
Bart   Simpson   10
Lisa   Simpson    9
Maggie   Simpson    2
Ned  Flanders   40