1. 程式人生 > >C++輸入輸出流:重定向

C++輸入輸出流:重定向

1、輸入輸出流

  • IO流類庫提供物件之間的資料互動服務
  • 流類庫預定義了一批流物件,連線常用的外部裝置
  • 可以定義所需的IO流物件,使用流庫提供的工作方式實現資料傳輸。

2、流類和流物件[比如視訊流,音訊流]

  • 程式中,對資料的輸入/輸出是以位元組流實現的
  • 應用程式對位元組序做出各種資料解釋
  • IO系統的任務就是在記憶體和外部裝置之間穩定可靠的傳輸資料和解釋資料
  • 流類物件可以建立和刪除,可以從流中獲取資料和向流新增資料

3、流類庫

  • 流庫是用繼承方法建立的輸入輸出類庫
  • 流庫具有兩個平行的基類:streambuf和ios類,所有流類均已兩者之一作為基類
  • streambuf類提供對緩衝區的低階操作:設定緩衝區,對緩衝區指標操作,向緩衝區存/取字元
  • ios類以及派生類提供使用流類的介面,支援對strambuf的緩衝區輸入/輸出的格式化或者非格式化轉換。

4、標頭檔案:

  • iostream.h:包含操作所有輸入/輸出流所需的基本資訊,含有cin、cout、cerr、clog物件,提供無格式和格式化的IO
  • iomanip.h:包含格式化io操作運算元,用於指定資料輸入和輸出的格式
  • fstream.h:除了檔案資訊,包含建立檔案,讀寫檔案的各種操作介面
  • 其他IO庫:提供特定系統的某些功能

4、標準流:

  • 標準輸入流cin輸入到記憶體,標準輸出流cout到螢幕
  • 標準流為使用者常用的外部裝置提供與記憶體之間的通訊通道,對資料進行解釋和傳輸,提供必要的資料緩衝。
  • cin:istream類的物件,通常連向鍵盤,可以重定向
  • cout:ostream類的物件,通常連向顯示器,可以重定向
  • cerr:ostream類的物件,連向顯示器,不可以重定向
  • clog:ostream類的物件,連向印表機,不可以重定向