📄 db.c
字号:
#include <stdio.h>#include <string.h>#include "db.h"/* open data base */void * open_db(char * mode){ FILE * fp; fp = fopen(DB_NAME, mode); return fp;}/* close data base */int close_db(void * fp){ if (NULL != fp) fclose((FILE*)fp); return 0; }/* read record from base */int db_read_next(void * fp, RECORD * rcd){ size_t len; if (NULL == fp) return -1; if (feof((FILE*)fp)) return 0; memset(rcd, 0, sizeof(RECORD)); /* read header */ len = sizeof(RECORD) - sizeof(rcd->msg); if (len != (int)fread(rcd, 1, len, (FILE*)fp)) return -1; /* read message body */ if (rcd->msg_len != fread(rcd->msg, 1, rcd->msg_len, (FILE*)fp)) return -1; return sizeof(RECORD);}/* insert record to data base */int db_insert(void * fp, RECORD * rcd){ size_t len; if (NULL == fp || fseek((FILE*)fp, 0, SEEK_END)) return -1; /* write header */ rcd->msg_len = strlen(rcd->msg); len = sizeof(RECORD) - sizeof(rcd->msg); if (len != fwrite(rcd, 1, len, (FILE*)fp)) return -1; /* write message body */ if (rcd->msg_len != (fwrite(rcd->msg, 1, rcd->msg_len, (FILE*)fp))) return -1; return sizeof(RECORD);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -