【C++ Primer IO類操作學習總結】

1、IO類系統認識

(1)、IO類簡介


  (2)、IO類之間的關係


2、IO類的典型的性質

(1)、IO對象無拷貝或賦值

在平常的操作函數中通常以引用或指針方式傳遞或返回。

因爲C++在設計之初就這樣設計規定的。

why?

我認爲像IO這種資源,是不允許多個對象同時訪問,及他們的訪問時互斥的;所以就不允許拷貝或複製,以免造成多個對象同時對同一IO資源進行造作。

例如:

iostream &print(iostream &io, fstream *fs){ ...}  // 正確,參數和返回以引用或指針形式傳遞

          iostream   print(iostream io){ ...}    // 錯誤,參數和返回以拷貝方式傳遞會發生複製和賦值操作

(2)、IO類的狀態操作

流的四種狀態:

獲取狀態的方法:

狀態操作:

    操作示例:

     

(3)、緩衝區


3、文件流操作

(1)、三個成員函數


(2)、流指針操作

3)、常見的函數使用

cin輸入會忽略空格,回車等,如果不想忽略可加noskipws

  c=cin.get()等價於cin.get(c),可讀取空格,回車等字符。

cin.get(char c[ ],int n,char c)讀取(n-1)個字符保存到c[ ]數組中,最後一個默認爲‘\0’;遇到字符

c則提前結束。未讀取的字符,後面可繼續讀取。

一行如果未讀完,則流就會出錯。



     getline(cin.str),讀取一行字符串


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章