本文主要講解如何使用c++程式來建立、更新和處理資料檔案,主要考慮順序儲存和隨機儲存檔案兩種方式。
c++將每個檔案看成是位元組序列,每個檔案都以乙個檔案結束符或者是儲存在系統維護、管理的資料結構中的乙個特點位元組數作為結尾,而c++使用流物件(一種特殊的類模板的物件,也即流類模板物件)提供程式和檔案之間的通訊,如標準輸入流物件cin,標準輸出流物件cout等。
為了在c++中進行對檔案的讀寫操作,必須包含標頭檔案和,標頭檔案包含了多種流類模板的定義:ifstream(用於從檔案輸入資料)、ofstream(用於向檔案輸出資料)、fsream(用於從檔案輸入或向檔案輸出資料)
c++沒有在檔案上強加任何結構,因此必須自己設計檔案結構滿足應用程式的需要,在下面的例子中建立了簡單的記錄結構。 的
// #include // using std::cerr;
// using std::cin;
// using std::cout;
// using std::endl;
// using std::ios;
// // #include // using std::ofstream;
// // #include // using std::exit;
// // int main()
// ;
#endif
#include using std::string;
#include using std::cout;
using std::cin;
#include "studentdata.h"
studentdata::studentdata(int id ,string namevalue,
float scorevalue)
void studentdata::setstudentid(int id)
int studentdata::getstudentid()const
void studentdata::setname( string namevalue)
string studentdata:: getname()const
void studentdata::setscore(float scorevalue)
score = scorevalue;
}float studentdata::getscore()const
#include using std::cerr;
using std::endl;
using std::ios;
using std::cin;
using std::cout;
using std::fixed;
using std::left;
using std::right;
using std::showpoint;
#include using std::ofstream;
using std::ostream;
using std::fstream;
#include using std::setw;
using std::setprecision;
#include using std::exit;
#include "studentdata.h"
int enterchoice();
void createtextfile(fstream &);
void updaterecord(fstream &);
void newrecord(fstream &);
void deleterecord(fstream &);
void outputline( ostream & ,const studentdata & );
int getaccount(const char* const);
enum choices; //列舉型別,與巨集替換功能相似
int main()
void createtextfile(fstream &readfromfile)
//迴圈結束,完成資料的輸出
}void updaterecord(fstream &updatefile)
else
cerr<
sizeof(studentdata));
if(scoredata.getstudentid() == 0)//新增加的過程,則是講乙個設定好資料的物件寫入乙個空白記憶體塊中
else
cerr<
sizeof(studentdata));
if (scoredata.getstudentid() != 0) //刪除即是將乙個空白的物件blankdata寫入原有資料的記憶體塊中
while(studentidvalue <1 ||studentidvalue>40);
return studentidvalue;
}
執行結果
檔案print.txt如下
Perl學習筆記(六) 檔案(一)
一 檔案描述符 訪問檔案時用來代表檔案的數字。它是系統資源,系統限制開啟的檔案描述符數量。perl中只在某些系統呼叫時才使用它 檔案控制代碼 功能同檔案描述符,但是與檔案描述符不是乙個東西。perl使用檔案控制代碼代表檔案。檔案描述符與檔案控制代碼互相轉化 檔案控制代碼 檔案描述符 fileno f...
python 學習筆記2 檔案處理
1 檔案操作 1 檔案讀寫2 開啟,讀取,寫,關閉 4 f open cm r encoding utf 8 開啟檔案,預設gbk,所以需要轉碼5 f.close 一旦開啟必須關閉67 檔案開啟三種方式,讀 寫 追加 r w a8 讀 r 不指定時預設為讀9 讀寫 r 只要有r,檔案不存在都會報錯1...
python學習筆記(六)檔案與異常
1 讀取和寫入文字檔案 它們的返回值是乙個檔案物件 infile open input.txt r 以讀模式開啟檔案,檔案必須已經存在 outfile open outpt.txt w 以寫模式開啟檔案,檔案不存在會自動建立,若存在會被清空 infile.close outfile.close 若以...