⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 db.c

📁 eybuild-x86-arm920t-2.6.7.tar 很好的嵌入式WEB开发环境
💻 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 + -