Создание таблицы / организованного списка в текстовом файле - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь создать таблицу / упорядоченный список значений, введенных пользователем, для помещения в текстовый файл. В настоящее время я дважды нажал клавишу Tab, чтобы правильно расположить цифры, как показано ниже. Есть ли в любом случае, чтобы поддерживать постоянный интервал, и в любом случае, чтобы программа продолжила работу таблицы при повторном запуске (если программа останавливается, она сохраняет файл, но при повторном запуске стирает текстовый файл)?

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) вводятся ранее в программе. Некоторые значения являются двойными / тройными цифрами.

1 Ответ

2 голосов
/ 18 июня 2019

Вам нужно взглянуть на манипуляторы ввода / вывода, в частности std::setw, который устанавливает ширину следующей операции вывода.

Например,

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

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

выводит id, resolved и halpha в полях шириной 16, 12 и 12 соответственно.

Вам также могут понадобиться std::right и std::left, которые переключаются с левого отступа на правый (соответственно). В отличие от std::setw они изменяют поток для всех последующих операций (пока вы не измените его снова).

Наконец, чтобы добавить к своей таблице добавьте std::ios::app при открытии файла

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