C++ 之 文件的輸入和輸出相關問題

C++爲什麼要有自己的輸入輸出系統?

1.因爲C++的輸入輸出系統比C語言更安全、更可靠。
2.在C++中需要定義衆多的用戶自定義類型(如結構體、類等),但是使用C語言中的printf和scanf是無法對這些數據進行輸入輸出操作的。


C++有哪4個預定義的流?它們分別與什麼具體設備相關聯?

C++中包含幾個預定義的流對象,它們是:標準輸入流對象 cin、標準輸出流對象 cout、非緩衝型的標準出錯流對象 cerr、緩衝型的標準出錯流對象 clog。
1.cin----標準輸入流對象,與標準輸入設備相聯繫(通常指鍵盤)。
2.cout----標準輸出流對象,與標準輸出設備相聯繫(通常指顯示器)。
3.cerr----非緩衝型的標準出錯流對象,與標準輸出設備相聯繫(通常指鍵盤)。
4.clog----緩衝型的標準出錯流對象、與標準輸出設備相聯繫(通常指顯示器)。

cerr與clog均用於輸出錯誤信息。
cerr和clog之間的區別是:
cerr是不經過緩衝區,直接向顯示器上輸出有關信息,因而發送給它的任何內容都立即輸出;
clog中的信息存放在緩衝區中,緩衝區滿後或遇上endl時向顯示器輸出。

用戶也可以用istream和ostream等類聲明自己的流對象。

//例如
istream is;
ostream os;
//聲明瞭is爲輸入流對象,os爲輸出流對象。

C++進行文件輸入輸出的基本過程是什麼?

1.在程序中包含頭文件fstream.h
2.爲要進行操作的文件定義一個流對象。
3.使用成員函數open打開文件。完成建立(或打開)文件,如果文件不存在,則建立改文件。如果磁盤上已存在該文件,則打開它。
4.進行讀寫操作。在建立(或打開)的文件基礎上執行所要求的輸入或輸出操作。
5.關閉文件。當完成輸入輸出操作時,應把已打開的文件關閉。


順序文件與隨機文件有什麼區別?

順序文件:
順序文件只能按有序的方式來讀取數據,就是說如果要讀取後面的數據,必須先讀取前面的數據。
順序文件的優點是使用方法簡單,佔用內存資源較少;缺點是不能對文件進行隨機訪問,欠靈活。如果要修改數據,必須將數據讀入內存,然後再將修改好的數據重新寫入文件,效率比較低。
隨機文件:
隨機文件是以記錄的方式組織的,可以按需要讀取指定位置的數據,就是說無需讀取前面的數據就可以讀取後面的數據。
​隨機文件的優點是存取數據的速度快,數據更新容易;缺點是佔用空間較大,程序設計較爲麻煩。

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