【C++】 ofstream列對齊和設定小數點精度
阿新 • • 發佈:2018-11-21
https://blog.csdn.net/ahhsqmyzwby/article/details/51570234
最近工程專案中,需要對輸出的檔案的格式作要求。因為每一行有很多列,每一列空格隔開,代表一個column,存放數字。
查找了一些資料得到如下:
1、需要使得每一列右對齊。
注意標頭檔案
#include<iomanip>
ofstream ostrm;
ostrm.open("test2.txt");
for(i=0;i<10;i++)
{
ostrm<<setiosflags(iOS::left)<<setw(10)<<setfill('*')<<i<<endl;
}
就可以生成如下效果,這裡是left,改成right即可,10和*的含義也是一看就懂。
0*********
1*********
2*********
3*********
4*********
5*********
6*********
7*********
8*********
9*********
2、需要設定顯示的精度,也就是將小數點後面的0補齊,這裡也是和cout的流輸出類似。
ofstream fout("out.txt");
fout.setf(ios::fixed, ios::floatfield); // 設定為 fixed 模式,以小數點表示浮點數
fout.precision(2); // 設定精度 2