在 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的字段中分别输出id
、resolved
、halpha
。
您可能还需要 std::right
和 std::left
,它们分别从左内边距切换到右内边距。与 std::setw
不同,它们会更改所有后续操作的流(直到您再次更改它)。
最后在打开文件时添加 table 添加 std::ios::app
file.open ("southPN.txt", std::ios::out | std::ios::app );
我正在尝试创建一个 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的字段中分别输出id
、resolved
、halpha
。
您可能还需要 std::right
和 std::left
,它们分别从左内边距切换到右内边距。与 std::setw
不同,它们会更改所有后续操作的流(直到您再次更改它)。
最后在打开文件时添加 table 添加 std::ios::app
file.open ("southPN.txt", std::ios::out | std::ios::app );