日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

I/O流的概念和流类库的结构

發布時間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 I/O流的概念和流类库的结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概念:

程序的輸入指的是從輸入文件將數據傳送給程序,程序的輸出指的是從程序將數據傳送給輸出文件。

C++輸入輸出包含以下三個方面的內容:

? ? 1.對系統指定的標準設備的輸入和輸出。即從鍵盤輸入數據,輸出到顯示器屏幕。這種輸入輸出稱為標準的輸入輸出,簡稱標準I/O。

? ? 2.以外存磁盤文件為對象進行輸入和輸出,即從磁盤文件輸入數據,數據輸出到磁盤文件。以外存文件為對象的輸入輸出稱為文件的輸入輸出,簡稱文件I/O。

? ? 3.對內存中指定的空間進行輸入和輸出。通常指定一個字符數組作為存儲空間(實際上可以利用該空間存儲任何信息)。這種輸入和輸出稱為字符串輸入輸出,簡稱串I/O。

?

C++的I/O對C的發展--類型安全和可擴展性

  在C語言中,用printf和scanf進行輸入輸出,往往不能保證所輸入輸出的數據是可靠的安全的。在C++的輸入輸出中,編譯系統對數據類型進行嚴格的檢查,凡是類型不正確的數據都不可能通過編譯。因此C++的I/O操作是類型安全(type safe)的。C++的I/O操作是可擴展的,不僅可以用來輸入輸出標準類型的數據,也可以用于用戶自定義類型的數據。

???????? C++通過I/O類庫來實現豐富的I/O功能。這樣使C++的輸人輸出明顯地優于C 語言中的printf和scanf,但是也為之付出了代價,C++的I/O系統變得比較復雜,要掌握許多細節。

???????? C++編譯系統提供了用于輸入輸出的iostream類庫。iostream這個單詞是由3個部 分組成的,即i-o-stream,意為輸入輸出流。在iostream類庫中包含許多用于輸入輸出的 類。常用的見表

?

?

ios是抽象基類,由它派生出istream類和ostream類,兩個類名中第1個字母i和o分別代表輸入(input)和輸出(output)。 istream類支持輸入操作,ostream類支持輸出操作, iostream類支持輸入輸出操作。iostream類是從istream類和ostream類通過多重繼承而派生的類。其繼承層次見上圖表示。

C++對文件的輸入輸出需要用ifstrcam和ofstream類,兩個類名中第1個字母i和o分別代表輸入和輸出,第2個字母f代表文件 (file)。ifstream支持對文件的輸入操作, ofstream支持對文件的輸出操作。類ifstream繼承了類istream,類ofstream繼承了類ostream,類fstream繼承了 類iostream。見圖

?

與iostream類庫有關的頭文件

iostream類庫中不同的類的聲明被放在不同的頭文件中,用戶在自己的程序中用#include命令包含了有關的頭文件就相當于在本程序中聲明了所需 要用到的類。可以換 —種說法:頭文件是程序與類庫的接口,iostream類庫的接口分別由不同的頭文件來實現。常用的有

  • iostream ?包含了對輸入輸出流進行操作所需的基本信息。
  • fstream ?用于用戶管理的文件的I/O操作。
  • strstream ?用于字符串流I/O。
  • stdiostream ?用于混合使用C和C + +的I/O機制時,例如想將C程序轉變為C++程序。
  • iomanip ?在使用格式化I/O時應包含此頭文件。

在iostream頭文件中定義的流對象

在 iostream 頭文件中定義的類有 ios,istream,ostream,iostream,istream _withassign, ostream_withassign,iostream_withassign 等。

在iostream頭文件中不僅定義了有關的類,還定義了4種流對象,

對象

含義

對應設備

對應的類

c語言中相應的標準文件

cin

標準輸入流

鍵盤

istream_withassign

stdin

cout

標準輸出流

屏幕

ostream_withassign

stdout

cerr

標準錯誤流

屏幕

ostream_withassign

stderr

clog

標準錯誤流

屏幕

ostream_withassign

stderr


在iostream頭文件中定義以上4個流對象用以下的形式(以cout為例):
? ? ostream cout ( stdout);
在定義cout為ostream流類對象時,把標準輸出設備stdout作為參數,這樣它就與標準輸出設備(顯示器)聯系起來,如果有
? ? cout <<3;
就會在顯示器的屏幕上輸出3。

?

在iostream頭文件中重載運算符

“<<”和“>>”本來在C++中是被定義為左位移運算符和右位移運算符的,由于在iostream頭文件中對它們進行了重載, 使它們能用作標準類型數據的輸入和輸出運算符。所以,在用它們的程序中必須用#include命令把iostream包含到程序中。

? ? #include <iostream>

1)?????? >>a表示將數據放入a對象中。

2)?????? <<a表示將a對象中存儲的數據拿出。

?

轉載于:https://www.cnblogs.com/gd-luojialin/p/9750419.html

總結

以上是生活随笔為你收集整理的I/O流的概念和流类库的结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。