第七章 1 輸入輸出與模板

2022-07-13 15:48:14 字數 1689 閱讀 8262

目錄輸入輸出類派生關係

標準流物件

重定向

freopen("test.txt","w",stdout);

freopen("test.txt","r",stdin);

istream類成員函式

輸入控制

while(cin>>x){} //istream物件內對強制型別轉換符bool進行了過載,具有了判斷功能

if(!cin.getline(str,size)){}

十進位制dec(預設),oct(八進位制),hex(十六進製制)

設定寬度setw(int n)cin.width(int n);——設定後是一次性的,可用於cin

設定浮點數精度setprecision(int n)cout.precision(int n);

對齊方式:leftright

顯示正號+:showpos;取消顯示正號:noshowpos

補齊字元setfill(char c);

科學計數法:scientific

實現原理

//ostream裡對《進行了過載,函式內部會呼叫p所指的函式,並以*this為引數,即cout

ostream& operator<< (ostream& (*p)(ostream&));

//使用者自定義流操作運算元

ostream& tab(ostream& output)

需包含標頭檔案因為ifstreamofstream分別是istreamostream的派生類,所以也能使用cincout的成員函式

示例

ifstream fin("input.dat",ios::in|ios::binary); //以二進位制方式開啟檔案用於讀取資料

ifstream fin; fin.open("input.dat",ios::in|ios::binary); //another way to open file

if(!fout){

cout<

檔案路徑

"c:\\tmp\\output.txt" //絕對路徑

//相對路徑:

"\\tmp\\output.txt" //當前碟符根目錄下的tmp資料夾下的檔案

"tmp\\output.txt" //當前資料夾下tmp資料夾下的output.txt檔案

"..\\..\\tmp\\output.txt" //當前資料夾下的父資料夾的父資料夾下的tmp裡的output.txt

二進位制檔案讀寫

第七章 C 類模板

一 問答題 1 下面類模板宣告中,正確的是 a.template b.template c.template d.template 選擇c,d 2 函式模板和類模板有什麼區別?函式模板中定義的型別引數可以用在函式宣告和函式定義中,類模板中定義的型別引數可以用在類宣告和類實現中。函式模板的例項化是由編...

第七章 巨集與列舉

規則7 1 1 用巨集定義表示式時,要使用完備的括號。說明 m為巨集只是簡單的 替換,不會像函式一樣先將引數計算後,再傳遞。示例 如下定義的巨集都存在一定的風險。反例 若有除法運算,c a b計算錯誤 define rectangle area a,b a b a 1 b 1計算錯誤 define ...

第七章 取消與關閉

1.中斷 每個執行緒都有乙個boolean型別的中斷狀態,中斷是一種協作機制。public class thread 返回目標執行緒的中斷狀態 public boolean isinterrupted 清除當前執行緒的中斷狀態,並返回它之前的值,清除中斷狀態的唯一方法 public static b...