c++語言把每個檔案看成是乙個有序的位元組流。檔案開啟時,就建立乙個物件,並將這個物件和某個流關聯起來。包含時,會自動生成cin 、cout、 cerr、 clog這4個物件,與這些物件關聯的流提供與檔案通訊的方法(檔案操作)。
如cin 物件是程式從鍵盤或檔案中輸入資料, cout 物件使程式能向螢幕或檔案輸出資料,cerr 和 clog 能使程式向螢幕或其他裝置輸出錯誤資訊。
c++負責檔案輸入|輸出的類有 ifstream(檔案輸入)、ofstream(檔案輸出)以及 fstream(檔案輸入|輸出)
注:檔案輸入是指從檔案向記憶體中讀入資料;檔案輸出是指從記憶體向檔案輸出資料(輸入、輸出是針對記憶體而言的)
建立檔案流物件
fstream myfile;
ios::in 輸入開啟檔案 ios::out 輸出開啟檔案
ios::trunc如檔案存在,清除檔案內容(預設模式)
ios::nocreate要開啟的檔案不存在則產生錯誤
ios::binary以二進位制方式開啟檔案(預設模式為文字模式)
利fstream 提供的open()成員函式開啟檔案與流的連線
void open(const char* szname, int nmode = ios::in, int nprot = filebuf::openprot)
(1)szname為帶路徑的檔名,引用時要用雙引號。需要注意的是,路徑分隔符要用 \\ ,二不是 \
(2)nmode為開啟模式,可以用 | 將幾種模式組合
(3)如果要開啟的檔案已經與流連線,或open()呼叫失敗,ios::basbit設定為true
(4)如果檔案沒有找到,ios::failbit設定為true
建立輸出檔案流,將建立的檔案連線到檔案流上(需要對檔案是否建立成功進行判斷,如果檔案建立錯誤則退出)。
--》向輸出檔案流中輸出內容--》關閉檔案(檔案流物件消失時也會自動關閉檔案)
#include#includeusing namespace std;
int main()
; float score[3]=;
fstream txtfile,binfile;
txtfile.open("d:\\c++book\\record.txt",ios::out|ios::trunc);
binfile.open("d:\\c++book\\record.dat",ios::binary|ios::out|ios::trunc);
if(!txtfile)
if(!binfile)
for(int i=0; i<3; i++)
{txtfile<
函式write()原型要求實參是字型別位址(const char *),如果不是字元型別位址,則需要進行轉換,但並不是將將其中的內容變成字串。可以採用 reinterpret_cast的轉換方法。write是按乙個位元組讀取檔案的內容。
輸入二進位制檔案使用成員函式read() 每次讀取固定長度的資料。
#include#includeusing namespace std;
int main()
{ char name[8];
float score;
ifstream binfile;//建立輸入檔案流物件
binfile.open("d:\\c++book\\record.dat",ios::binary);
if(!binfile)
{cerr<<"record.dat open error!"<(name),8*sizeof(char));
binfile.read(reinterpret_cast(&score), sizeof(float));
cout<
objective c 使用檔案 二
使用路徑 nspathutilities.h nspathutilities.h包含了nsstring的函式和分類擴充套件,它允許你操作路徑名。下面是乙個例子 view plain import import import import import intmain intargc,const ch...
檔案流的使用(C )
檔案流 讀取 public void filestreamread 使用streamreader來讀取乙個文字檔案 public void streamreader console.readkey 使用streamwriter來讀取乙個文字檔案 public void streamwriter co...
Spring boot 二 yml檔案的使用
上一章建立了乙個簡單的springboot專案,配置可以說非常的簡單。不過,在實際開發中不可能都用預設的配置,還是需要根據自己的實際專案需求有自定義的配置的。比如 埠號需要變更,模板引擎的快取開發模式需要關閉,生成環境需要開啟等。這裡便引入了屬性檔案 外接配置 的概念。然後加入 這裡加入會有提示的 ...