我的c++學習(4) C++輸入輸出格式的控制


默認進制:默認狀態下,數據按十進制輸入輸出。如果要求按八進制或十六進制輸入輸出,在cin或cout中必須指明相應的數據形式,oct為八進制,hex為十六進制,dec為十進制。

#include "stdafx.h"
#include<iostream>
using namespace std;
int main(void){  

 int i, j, k, l;
     cout<<"Input i(oct), j(hex), k(hex), l(dec):"<<endl;
     cin>>oct>>i; //輸入為八進制數
     cin>>hex>>j; //輸入為十六進制數
     cin>>k; //輸入仍為十六進制數
     cin>>dec>>l; //輸入為十進制數
     cout<<"hex:"<<"i="<<hex<<i<<endl;
     cout<<"dec:"<<"j="<<dec<<j<<'\t'<<"k="<<k<<endl;
     cout<<"oct:"<<"l="<<oct<<l;
     cout<<dec<<endl; //恢復十進制輸出狀態

}

數據間隔
常用設置方法:輸出空格符或回車換行符。
指定數據輸出寬度:用C++提供的函數setw()指定輸出數據項的寬度。setw()括號中通常給出一個正整數值,
用於限定緊跟其后的一個數據項的輸出寬度。如:setw(8)表示緊跟其后的數據項的輸出占8個字符寬度。

#include "stdafx.h"
#include<iostream>
using namespace std;
#include<iomanip>
int main(void){   
     int i=2,j=3;
     float x=2.6,y=1.8;
     cout<<setw(6)<<i<<setw(10)<<j<<endl;
     cout<<setw(10)<<i*j<<endl;
     cout<<setw(8)<<x<<setw(8)<<y<<endl;
}


幾點說明:

1.如果數據的實際寬度小於指定寬度,按右對齊的方式在左邊留空,如果數據的實際寬度大於指定寬度,則按實際寬度輸出,即指定寬度失效。
2.setw()只能限定緊隨其后的一個數據項,輸出后即回到默認輸出方式。
3.使用setw()必須在程序開頭再增加一句: #include<iomanip>

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM