C++標(biāo)準(zhǔn)輸入輸出應(yīng)用技巧解析
C++編程語言在實際程序開發(fā)中,有很多比較重要的應(yīng)用技巧需要我們牢固掌握,以方便應(yīng)用開發(fā),提高編程效率。在這里我們就為大家介紹一下C++標(biāo)準(zhǔn)輸入輸出的應(yīng)用技巧,方便大家學(xué)習(xí)。
◆ 1、數(shù)的進制
默認(rèn)進制:
默認(rèn)狀態(tài)下,數(shù)據(jù)按十進制輸入輸出。如果要求按八進制或十六進制輸入輸出,在cin或cout中必須指明相應(yīng)的數(shù)據(jù)形式,oct為八進制,hex為十六進制,dec為十進制。
舉例:
- int i, j, k, l;
- cout<<”Input i(oct), j(hex), k(hex), l(dec):”<<endl;
- cin>>oct>>i; //輸入為八進制數(shù)
- cin>>hex>>j; //輸入為十六進制數(shù)
- cin>>k; //輸入仍為十六進制數(shù)
- cin>>dec>>l; //輸入為十進制數(shù)
- cout<<”hex:”<<”i=”<<hex<<i<<endl;
- cout<<”dec:”<<”j=”<<dec<<j<<′\t′<<”k=”<<k<<endl;
- cout<<”oct:”<<”l=”<<oct<<l;
- cout<<dec<<endl; //恢復(fù)十進制輸出狀態(tài)
【執(zhí)行結(jié)果】:
(1)輸出提示:Input i(oct), j(hex), k(hex), l(dec):
(2)此時從鍵盤輸入: 032 0x3f 0xa0 17 <CR>
(3)輸出結(jié)果為:
- hex:i=1a
- dec:j=63 k=160
- oct:l=21
C++標(biāo)準(zhǔn)輸入輸出操作中幾點說明:#t#
使用不帶.h的頭文件<iostream>時,必須在cin中指明數(shù)制,否則從鍵盤輸入時,不認(rèn)八進制和十六進制數(shù)開頭的0和0x標(biāo)志。指明后可省略0和0x標(biāo)志。
進制控制只適用于整型變量,不適用于實型和字符型變量。
輸入數(shù)據(jù)的格式、個數(shù)和類型必須與cin中的變量一一對應(yīng),否則不僅使輸入數(shù)據(jù)錯誤,而且影響后面其他數(shù)據(jù)的正確輸入。
在cin或cout中指明數(shù)制后,該數(shù)制將一直有效,直到重新指明使用其他數(shù)制。
◆ 2、數(shù)據(jù)間隔
常用設(shè)置方法:輸出空格符或回車換行符。
指定數(shù)據(jù)輸出寬度:用C++提供的函數(shù)setw()指定輸出數(shù)據(jù)項的寬度。setw()括號中通常給出一個正整數(shù)值,用于限定緊跟其后的一個數(shù)據(jù)項的輸出寬度。如:setw(8)表示緊跟其后的數(shù)據(jù)項的輸出占8個字符寬度。
舉例:
- 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;
則輸出結(jié)果為:
- 2 3
- 6
- 2.6 1.8
說明:
如果數(shù)據(jù)的實際寬度小于指定寬度,按右對齊的方式在左邊留空,如果數(shù)據(jù)的實際寬度大于指定寬度,則按實際寬度輸出,即指定寬度失效。
setw()只能限定緊隨其后的一個數(shù)據(jù)項,輸出后即回到默認(rèn)輸出方式。
使用setw()必須在程序開頭再增加一句: #include<iomanip>
以上就是對C++標(biāo)準(zhǔn)輸入輸出的相關(guān)介紹。