默認進制:默認狀態下,數據按十進制輸入輸出。如果要求按八進制或十六進制輸入輸出,在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>