在 txt 文件中创建 table/organised 列表

Creating a table/organised list within a txt file

我正在尝试创建一个 table/organized 用户输入的值列表,并将其放入 txt 文件中。目前,为了 space 数字正确,我双击了 Tab,如下所示。无论如何保持间距一致,并且无论如何让程序在再次启动 运行 时继续 table (如果程序停止,它会保存文件,但是当再次启动时它会擦除txt 文件)?

std::fstream file;

file.open ("southPN.txt", std::ios::out | std::ios::in );

file << id << "     " << resolved << "      " << halpha << "        " 
<< hbeta << "     " << o4959 << "     " << o5007 << "     " << n6548 << 
"     " << n6583 << "     " << s6716 << "     " << s6731 << "\n\n" ;

所有的值(id - s6731)都是在程序的前面输入的。 有些值是 double/triple 位数。

您需要查看 I/O 操纵器,特别是设置下一个输出操作宽度的 std::setw

例如

#include <iostream>
#include <iomanip>
using std::setw;

file << setw(16) << id << setw(12) << resolved << setw(12) << halpha << ...

在宽度为16、12、12的字段中分别输出idresolvedhalpha

您可能还需要 std::rightstd::left,它们分别从左内边距切换到右内边距。与 std::setw 不同,它们会更改所有后续操作的流(直到您再次更改它)。

最后在打开文件时添加 table 添加 std::ios::app

file.open ("southPN.txt", std::ios::out | std::ios::app );