У меня есть следующий рабочий код, который создает форматированный вывод с использованием ofstream, однако я чувствую, что все повторяющиеся спецификаторы формата затрудняют чтение. Есть ли способ установить точность, ширину и выравнивание на постоянной основе для данного потока, что бы хорошо все очистить?
#include <fstream>
#include <iomanip>
ofstream myfile;
myfile.open(Output.c_str(), ios::trunc);
for (int i = 0; i < iLen; i++) {
myfile <<std::fixed << std::setw( iWidth ) << std::setprecision( iDecimals )<< std::right << pDist[i] << " "
<<std::fixed << std::setw( iWidth ) << std::setprecision( iDecimals )<< std::right << pRes[i] << " "
<<std::fixed << std::setw( iWidth ) << std::setprecision( iDecimals )<< std::right << pPhase[i] << "\n";
}
myfile.close();
std::fixed
,std::setprecision
иstd::right
являются постоянными. Единственный, который вам нужен каждый раз, этоsetw
. - person Calvin Scherle   schedule 28.10.2014