如何创建表格?

时间:2019-12-18 11:13:59

标签: c++

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

1 个答案:

答案 0 :(得分:1)

您不需要ncurses即可创建表。作为提示,请看一下std::setwstd::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