我創造了學生的類。這是班級。書面二進制文件在C++中
class student
{
int rollno,marks;
char name[20];
public:
void show();
void get();
int filecreate(const string &,fstream &);
int fileopen(const string &,fstream &);
static int add(const student &,fstream &);
static int read(const student &,fstream &,int);
static int update(const student &,fstream &,int);
int showall(fstream &);
int view(fstream &,int);
int adddummy(fstream &);
};
這是寫在二進制文件中的記錄我的add方法。
int student::add(const student &s,fstream &fp)
{
fp.seekp(0, ios::end);
if(fp.write((char*)&s,sizeof s))
return 1;
return 0;
}
如果我寫入對象的值,寫入文件的值是什麼。它只是滾動,標記和名稱(僅限數據成員?)。現在我想爲fstream添加一個成員。加入會員後,如果我寫的文件,什麼數據寫入到文件(將fstream的值也寫入文件?)
「文本數據更容易調試,作爲一個程序員,你可以用普通的編輯器查看」 如果我作爲文本數據存儲它很難更新記錄,並從文件中刪除記錄。我可以在文本文件中使用隨機訪問方法嗎? – Heartly
不,您不能在文本文件上輕鬆使用隨機訪問。但是,您可以將所有文本文件加載到內存中(如果您的數據不是很大,這是可行的),然後在內存中運行並最終轉儲文本文件。您也可以使用數據庫或(在簡單情況下)索引文件,如GDBM。但不要忘記,二進制數據是脆弱的! –
不,我們不關心使用關係數據庫系統。我們的後端只有平面文件。那麼ISAM呢?無論GDBM是軟件還是哈希表等概念? – Heartly