📄 db.h
字号:
#ifndef DB_H
#define DB_H
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <string.h>
#define FREE_OFF_FLAG 0 /*db header's free block number offset flag*/
#define CUR_OFF_FLAG 1 /*db header's current record number offset flag*/
#define MAX_OFF_FLAG 2 /*db header's max record number offset falg*/
#define REC_OFF_FLAG 13 /*the first record start offset*/
#define MAX_RECORD_NUM 100 /*allow the max record number*/
#define MAX_MSG 20 /*max messge length*/
#define TIME_LEN 30
typedef struct /*record to store*/
{
/*long offset the record 's offset*/
time_t time; /*use to dichotomy sort*/
char data[MAX_MSG];
}DB_Rec,*pDB_Rec;
#define DB_REC_SIZE sizeof(DB_Rec)
typedef struct /* db header's information */
{
int free_block_num;
int cur_rec_num;
int max_rec_num;
}DB_Header;
#define DB_HEADER_SIZE sizeof(DB_Header)
typedef struct _DB
{
FILE *fpdb; /*point to the opended db*/
int free_block_num; /*free block number*/
int cur_rec_num; /*the current record number*/
int max_rec_num; /*the max record number*/
DB_Rec *pDB_Rec; /* porint to the record */
}DB;
#define DB_SIZE sizeof(DB)
bool db_Init(char *filename,bool *flag);
DB *db_Open(char *filename,char *mode,bool flag) ;
bool db_AddRecord(DB *db,char *strrec);
bool db_SetHeader(DB *db);
void db_DisplayRecord(DB *db,int position);
void db_DisplayAllRecord(DB *db);
bool db_CompareRecord(DB *db,char *str);
bool db_ReadRecord(DB *db);
void db_ModifyRecord(DB *db,int position);
void db_DeleteRecord(DB *db,int position);
void db_DeleteAllRecord(DB *db);
bool db_Close(DB *db);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -