1. 程式人生 > >【C++】 ofstream列對齊和設定小數點精度

【C++】 ofstream列對齊和設定小數點精度

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