C 學習筆記(六)檔案處理

2021-07-05 03:22:24 字數 2733 閱讀 6884

本文主要講解如何使用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 若以...