C 的簡單檔案操作

2021-08-08 12:12:31 字數 2054 閱讀 1550

檔案操作

1.1 流和檔案流物件

檔案是存放在計算機外存上的一組相關資訊的集合。

c++採用「流」的概念來描述檔案。接受資料的地方稱為目標,發出資料的地方稱為源。

為了能與檔案交換資料,就需要與檔案建立聯絡,流就是這種聯絡。處理檔案前,必須先建立檔案流物件,它與檔案相關,通過檔案流物件操作檔案。

c++提供了檔案輸入流ifstream、檔案輸出流ofstream和檔案輸入輸出流fstream。為了從檔案中讀取資料,需要建立乙個與該檔案關聯的檔案輸入流物件。

ifstream  infile;   //建立乙個輸入檔案流物件infile

為了向檔案中寫資料,

ofstream  outfile;   //建立乙個輸出檔案流物件outfile

fstream  iofile;   //建立乙個輸入輸出檔案流物件iofile

為了使用ifstream、ofstream和fstream檔案源,必須包含fstream標頭檔案。

2.1 開啟檔案

通過檔案流物件的成員函式open來開啟檔案。

infile.open(「example.txt」);  //開啟乙個名為example.txt的文字檔案

(開啟檔案時,通常需要指定檔案模式)

如:  infile.open(「example.txt」);  等價於infile.open(「example.txt」,ios :: in);

還可以在建立檔案流物件時開啟檔案。

ifstreaminfile(「example.txt」);

如果檔案不存在,則開啟失敗。

與ofstream檔案輸出流物件關聯的檔案;

outfile.open(「example.txt」);

等價於:outfile.open(「example.txt」,ios : : out|ios :: trunc);

如果檔案不存在,則新建資料夾;如果資料夾存在,則清空檔案原有內容。

預設情況下,檔案都是以文字檔案模式開啟。開啟二進位制檔案要顯示指定二進位制檔案模式。

outfile.open(「example.dat」,ios: : binary);

2.2關閉檔案

將檔案流物件與外存上的檔案脫離聯絡。

infile.close( );//關閉檔案

例子:

3.1檔案輸入輸出

可以使用流插入運算子《向檔案中寫入資料,也可以使用流提取運算子》從檔案中讀取資料。

例子:

使用了流插入運算子<

使用了流提取運算子》;把與流物件outfile關聯的檔案中的內容讀出。

字元輸入輸出

檔案流物件成員函式get用於從檔案中讀取乙個字元,檔案流物件成員函式put用於向檔案寫入乙個字元。

infile.get(ch);//從infie關聯的檔案中讀取字元存放在ch中。

outfile.put(ch);  //將存放在ch中的字元寫到outfile關聯的檔案中。

行輸入輸出

getline函式用於從檔案中讀取一行字元;

stringline  //定義乙個字串來存放讀入的內容

getline(infile, line); //從檔案中讀取一行字元;

塊輸入輸出

資料塊是一組相關資料的集合。

檔案流物件成員函式read用於從檔案中讀入資料塊,檔案流物件成員函式write用於向檔案寫入資料塊。(read和write函式通常用於二進位制檔案)

infile.read( 字元指標(讀首位址),資料塊大小sizeof());

outfile.write( 字元指標(存首位址),資料塊大小sizeof());

注:對於非字元資料塊,必須使用reinterpret_cast強制轉化為字元指標。

C 簡單的檔案操作

程式中的資料通常儲存在記憶體中,程式關閉後,資料就會清除。檔案就適合儲存相對簡單的資料或程式的計算結果。建立檔案流 建立閱讀器或者寫入器 執行讀寫操作 關閉閱讀器或者寫入器 關閉檔案流 2.1 檔案流 流是乙個用於資料傳輸的物件。我們使用的檔案流是filestream類,使用前需要匯入system....

C 檔案的簡單操作

標頭檔案 include 實現對檔案物件的操作 include 實現輸入輸出定義檔案物件 ifstream file1 x ofstream file2 x file1.close file2.close ifstream file1 x 表示開啟在路徑x 下名為name的txt檔案,並將其命名為f...

c 簡單的檔案操作

使用fileinfo類的物件進行檔案進行外部操作 fileinfo file new fileinfo lzx.txt if file.exists else 這裡可以使用相對路徑和絕對路徑。需要注意是的當前路徑是位於工程檔案的.bin debug下的 fileinfo類下的方法都很好理解,自行檢視...