C++常用頭文件——輸入輸出庫

前言

在開發過程中常需要帶各種頭文件,但是作爲初學者我們常存在困惑,要實現各類功能時我們需要帶什麼頭文件呢,本文將對頭文件的功能及用法進行詳細介紹。

輸入/輸出庫

iostream頭文件

iostream包含了<ios>、<istream>、<ostream>、<streambuf>四個頭文件,能夠通過以下關鍵詞實現對應功能:

對象 功能
cin 標準輸入
cout 標準輸出
cerr 標準錯誤
clog 標準日誌
wcin 標準輸入
wcout 標準輸入
wcerr 標準錯誤
wclog 標準日誌

大家一定奇怪cin和wcin的區別,區別在於cin 表示“字符輸入”而 wcin 表示“寬字符輸入“。寬字符是用多個字節來代表的字符。
另一方面由於調用和功能均類似,cout、cerr和clog的區別也令人困惑。那麼其區別在哪呢?cout的輸出可以重定向到一個文件中,而cerr和clog必須輸出在顯示器上。而cerr和clog的區別在於cerr不經過緩衝區,而clog中的信息存放在緩衝區,緩衝區滿或者遇到endl時才輸出。cerr和clog存在的意義是爲了在你最需要它的緊急情況下,還能得到輸出功能的支持。所以並不是輸出報錯信息和運行日誌,而是輸出字符。
在程序中調用爲:

#include <iostream>
using namespace std;
int main(){
 string TestName;
 cin>>TestName;
 cout<<TestName<<endl;
 clog<<TestName<<endl;
 cerr<<TestName<<endl;
 return 0;
} 

iomanip頭文件

iomanip頭文件是用以控制輸入輸出文本格式的輔助函數。能夠通過關鍵詞實現對應功能:

對象 功能
resetiosflags 重置的ios_base標誌
setiosflags 設置指定的ios_base標誌
setbase 更改用於整數I/O的基數
setfill 更改填充字符
setprecision 更改浮點精度
setw 更改下個輸入/輸出域的寬度
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
 // 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) 強制顯示符號 
 cout<<setbase(8)<<15<<endl;//  setbase(8)以八進制輸出數字,同理setbase(10)、setbase(16)爲以十進制、十六進制輸出數字 
 cout<<'s'<<setw(8)<<'a'<<endl;//  setw(n) 設域寬爲n個字符
 cout<<'s'<<setfill('*')<<setw(8)<<'a'<<endl;//  setw()默認填充的內容爲空格,可以setfill()配合使用設置其他字符填充。
 cout<<setiosflags(ios::fixed)<<setprecision(3)<<1.2345<<endl;//  setprecision(n) 設顯示小數精度爲n位
 return 0;
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章