1、C++中IO庫類型 c++中的IO庫類型和頭文件以下: ios
各類IO庫類型對應的繼承關係爲:c++
類型ifsream和istringstream都繼承自istream; 類型ofsream和ostringstream都繼承自ostream; 類型fsream和stringstream都繼承自iostream;面試
繼承機制的特色就是能夠講一個派生類對象看成基類對象來使用。所以咱們能夠像使用istream對象同樣來使用ifsream和istringstream對象,例如,能夠對一個ifsream或istringstream對象調用getline,也能夠從一個ifsream或istringstream對象中讀取數據,等等。同理,其餘類型也可按繼承關係獲得相似使用規則。算法
2、文件讀寫操做類型 ifstream,ofstream和fstream是實現文件讀寫操做的類型。部分操做以下:編程
(1)若要建立和使用文件流對象,能夠提供文件名(可選),若是提供了一個文件名,則open自動被調用:swift
ifstream in(ifile);//構造一個ifstream並打開給定文件 ofstream out;//構造輸出文件流,未關聯任何文件數組
一旦一個文件流打開,它就保持與對應文件的關聯。爲了將文件流關聯到另外一個文件,必須先關閉已經關聯的文件,而後再打開:數據結構
in.close();//關閉文件 in.open(ifile + "2");//打開另外一個文件學習
(2)文件模式:每一個流都有一個關聯的文件模式,用來指出如何使用文件。 spa
指定文件格式的限制以下:
(3)例子:如下代碼實現從當前目錄下的input.txt中讀取內容,而後放到數組a中,或者每次直接輸出buffer。
#include
#include #include <stdlib.h> #include using namespace std; int main(){ char buffer[256]; ifstream in("input.txt");//文件不存在會返回錯誤 if (! in.is_open()){ cout << "Error opening file"<<endl; exit (1); } vector a; while (!in.eof()){ in.getline (buffer,100); //cout << buffer << endl; a.push_back(buffer); }
for(unsigned int i=0;i<a.size();i++) cout<<a[i]<<endl; return 0; }
其中input.txt內容爲:
ofstream //文件寫操做 內存寫入存儲設備
ifstream //文件讀操做,存儲設備讀區到內存中
fstream //讀寫操做,對打開的文件可進行讀寫操做 1 2 3 3、c++中的操縱符 一、定義在iostream中的操縱符:
二、定義在iomanip中的操縱符:
若是你依然在編程的世界裏迷茫,不知道本身的將來規劃,小編給你們推薦一個iOS高級交流羣:458839238 裏面能夠與大神一塊兒交流並走出迷茫。小白可進羣免費領取學習資料,看看前輩們是如何在編程的世界裏傲然前行! 羣內提供數據結構與算法、底層進階、swift、逆向、整合面試題等免費資料 附上一份收集的各大廠面試題(附答案) ! 羣文件直接獲取 各大廠面試題