檔案操作
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類下的方法都很好理解,自行檢視...