cout的I O流的資料格式編排

2022-01-20 19:32:19 字數 1604 閱讀 3329

首先看例子:

cout這裡主要牽扯到ios類,這裡我們關心這兩個ios標記:fixed和showpoint。

設定標記,可以使用 以標記的名稱為引數的 操作程式setiosflags。其中在括號中,標記名稱必須跟在類名之後,並且之間要有字段分解運算子(::);

fixed:保證數字以定點形式存在,而不會以指數的格式顯示。

showpoint:保證小數點的存在,即使那個數字並沒有小數部分。

setprecision():用數字作為引數,表示數字精確度(即小數點的位數)。

setw():用數字作為引數,設定欄位的寬度,並且文字靠右對齊。

這裡:cout<

cout<

out<

以下是一些常見的控制函式的:

dec 置基數為10 相當於"%d"

hex 置基數為16 相當於"%x"

oct 置基數為8 相當於"%o"

setfill(c) 設填充字元為c

setprecision(n) 設顯示小數精度為n位

setw(n) 設域寬為n個字元

這個控制符的意思是保證輸出寬度為n。如:

cout<1 10100 (預設是右對齊)當輸出長度大於3時(<<1000),setw(3)不起作用。

setioflags(ios::fixed) 固定的浮點顯示

setioflags(ios::scientific) 指數表示

setiosflags(ios::left) 左對齊

setiosflags(ios::right) 右對齊

setiosflags(ios::skipws 忽略前導空白

setiosflags(ios::uppercase) 16進製制數大寫輸出

setiosflags(ios::lowercase) 16進製制小寫輸出

setiosflags(ios::showpoint) 強制顯示小數點

setiosflags(ios::showpos) 強制顯示符號

這裡有個例子:

#include #include using namespace std;

int main()

{ cout<<12345.0<這是網上的例子,按照規則,標記後應該是正確答案,可是我用vs2008測試這個程式的時候卻出現的錯誤的結果

但是用別的編譯器,雖然結果不完全是這樣,但是好歹不出現亂碼!

vs2005和vc 6.0 執行結果:

不知道是不是編譯器出現問題了,問題待解決,也希望看到文章的人幫忙解釋下問題的本質,謝謝。

cout的I O流的資料格式編排

首先看例子 cout 這裡主要牽扯到ios類,這裡我們關心這兩個ios標記 fixed和showpoint。設定標記,可以使用 以標記的名稱為引數的 操作程式setiosflags。其中在括號中,標記名稱必須跟在類名之後,並且之間要有字段分解運算子 fixed 保證數字以定點形式存在,而不會以指數的...

JSON的資料格式

1.json是一種輕量級的資料互動格式。2.json的語法有三種型別的值 簡單值 不包含undefined 物件,陣列 3.json不支援變數,函式或物件例項 4.json字串必須使用雙引號 單引號會導致語法錯誤 5.json和js物件的區別 a 沒有宣告變數 json中沒有變數的概念 b 沒有末尾...

LAS的資料格式

從本質上來說,las格式是一種二進位制檔案格式。其目的是提供一種開放的格式標準,允許不同的硬體和軟體提供商輸出可互操作的統一格式。現在las格式檔案已成為lidar資料的工業標準格式。las檔案按每條掃瞄線排列方式存放資料,包括雷射點的三維座標 多次回波資訊 強度資訊 掃瞄角度 分類資訊 飛行航帶資...