社区
C语言
帖子详情
哪里有操作DBF文件的C源码下载(十万火急) ?
happy
2000-04-30 05:25:00
...全文
356
4
打赏
收藏
哪里有操作DBF文件的C源码下载(十万火急) ?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
happy
2000-05-09
打赏
举报
回复
谢谢你们
我也放弃了
fuzhenxing
2000-05-07
打赏
举报
回复
#include "dbf.h"
#include <dos.h>
#define OK 0
#define CANCEL -1
DBFop::DBFop(char *DBFname)
{
initDBF(DBFname,SHARE and NEEDWRITE);
}
DBFop::DBFop(char *DBFname,int op)
{
initDBF(DBFname,op);
}
void DBFop::initDBF(char *DBFname,int op)
{
int tmpi1,tmpi2;
int _access,_shflag,_mode;
// char *p;
DBFstru=NULL;
strcpy(DBFfn,DBFname);
tmpi1=op&0x00FF; // EXCLUSIVE
tmpi2=op&0xFF00; // NEEDWRITE
_access=O_BINARY;
_access and =tmpi2?O_RDWR:O_RDONLY;
_shflag=tmpi1?SH_DENYRW:SH_DENYNONE;
_mode=S_IREAD;if(tmpi2) _mode and =S_IWRITE;
DBFfp=sopen(DBFfn,_access,_shflag,_mode);
if(DBFfp!=-1)
{
read(DBFfp,&DBFhead,32);
iFieldNum=DBFhead.Addr/32-1;
dataStart=DBFhead.Addr;
DBFstru=(DBFstruType *)farmalloc(iFieldNum*32);
read(DBFfp,DBFstru,iFieldNum*32);
/*
tmpi=strlen(DBFname);
strncpy(LDXfn,DBFname,tmpi-3);
LDXfn[tmpi-3]=0;
strcat(LDXfn,"LDX");
*/
}
else
{
DBFhead.DBFcode=0;
DBFhead.Len=16;
}
if(DBFhead.DBFcode==-11)
{
tmpi1=strlen(DBFname);
strncpy(FPTfn,DBFname,tmpi1-3);
FPTfn[tmpi1-3]=0;
strcat(FPTfn,"FPT");
FPTfp=sopen(FPTfn,_access,_shflag,_mode);
cHasFPT=1;
}
else cHasFPT=0;
dataBuf[0]=dataBuf[1]=dataBuf[2]=dataBuf[3]=NULL;
recPerBuf=64000L/DBFhead.Len;
isOpen=1;
cHasMEM=0;
cHasXMS=0;
cReadBuf=0;
cWriteBuf=0;
}
DBFop::~DBFop()
{
if(cReadBuf) delete readRecordBuf;
if(cWriteBuf) delete writeRecordBuf;
if(cHasMEM) freeDBFMEM();
if(cHasXMS) freeDBFXMS();
if(isOpen&&DBFfp!=-1) close(DBFfp);
if(isOpen&&FPTfp!=-1&&cHasFPT) close(FPTfp);
if(DBFstru!=NULL) farfree(DBFstru);
}
int DBFop::isOk(void)
{
return DBFfp!=-1?1:0;
}
int DBFop::isDBFok(void)
{
return DBFfp!=-1?OK:CANCEL;
}
long DBFop::getDBFnum(void)
{
return DBFhead.Num;
}
int DBFop::reLoadDBFhead(void)
{
if(DBFfp==-1) return 1;
lseek(DBFfp,0,0);
read(DBFfp,&DBFhead,32);
return 0;
}
int DBFop::getDBFrecord(long lRecordNo,char *cRetChar)
{
return getDBFrecord(lRecordNo,cRetChar,0);
}
int DBFop::getDBFrecord(long lRecordNo,char *cRetChar,int len)
{
if(lRecordNo>=DBFhead.Num)
{
*cRetChar=0;return 2;
}
lseek(DBFfp,lRecordNo*DBFhead.Len+DBFhead.Addr,0);
read(DBFfp,cRetChar,DBFhead.Len-len);
cRetChar[DBFhead.Len-len]=0;
return 0;
}
sunsol
2000-05-02
打赏
举报
回复
问一下文件结尾的1A标志怎么在我用foxplus手动append单条记录时
没有出现?
syz
2000-04-30
打赏
举报
回复
不知你想干什麽?我曾经也有你一样的问题,后来放弃了,因为还是用FOX 比较方便。
访问DBF 就象用DBC驱动比较来的快,不知你是不是想寻求刺激?那就去“文件格式”里
看看吧!要是我赶程序的话,我是不会这样做的。":-)
Ubuntu安装QQ-
下载
即用.zip
源码
下载
地址: https://pan.quark.cn/s/a4b39357ea24 qq qqsb、Tencentsb 8亿QQ绑定数据、腾讯泄露数据 Image text Image text Image text 查询结果 Image text
下载
地址 360安全网盘 百度网盘 百度网盘(新)提取码:404v 天翼网盘(解压密码:209754) 分享的国内网盘频繁被一些SB举报删除,数据共享人人有责 种子 https://mega.nz/file/ct9iVLia#Zd48MrnZehsNyPd0FWX9FZ1TTc7Q9Ket-zJvboABwPw 磁力链接 magnet:?xt=urn:btih:963fd90eee4db809ed4224d1ca7a0639c443cf4b magnet:?xt=urn:btih:c81e0644fd67f73d81b94a31e3fc726679638a98&dn=pcht-v1 举报一次腾讯安全的全体员工死个爹妈 使用方式: 建立数据库,建立表 user, qq 的两字段 qq 和 phone, WB的两字段 phone 和 uid , 字段类型想节省空间用 bigint 就够,不然用 char 或其他。 修改语句中的
文件
路径。 语句中的 IGNORE 字段是重复数据时不覆盖,去掉就是覆盖,自行决定覆不覆盖,有重复数据不好建立唯一索引。 还要修改mysql的配置
文件
,下面的语句才能执行: 在 my.ini
文件
中的 mysqld 段添加 securefilepriv=” 导入完再添加索引。 我导入两个库分别花了二十多分钟。 不过还是分表分库或用 nosql 吧,一个表 8e 数据,建立索引了也吃不消,mysql...
横屏 7K(23).jpg
横屏 7K(23).jpg
【创新、复现】基于蜣螂优化算法的无线传感器网络覆盖优化研究(Matlab代码实现)
内容概要:本文围绕基于蜣螂优化算法(DBO)的无线传感器网络(WSN)覆盖优化问题展开研究,提出了一种创新性的智能优化解决方案,并提供了完整的Matlab代码实现。研究首先分析了传统WSN覆盖优化中存在的覆盖率低、能耗不均等问题,随后引入蜣螂优化算法这一新型群体智能算法,通过模拟蜣螂的生物行为机制,构建了适用于传感器节点部署优化的数学模型。文中详细阐述了算法的设计思路、实现步骤及其在提高网络覆盖率、延长网络生命周期方面的有效性,同时通过仿真实验与其他主流优化算法进行了对比,验证了所提方法的优越性。; 适合人群:具备一定优化算法基础和Matlab编程能力,从事通信工程、物联网、智能优化等相关领域的研究生及科研人员。; 使用场景及目标:①解决无线传感器网络中节点部署不合理导致的覆盖盲区问题;②提升网络整体覆盖性能与资源利用效率;③为智能优化算法在实际工程中的应用提供可复现的研究案例和技术参考。; 阅读建议:建议读者结合文中的Matlab代码进行实践
操作
,重点关注算法参数设置、适应度函数设计及仿真结果分析部分,同时可尝试将该算法迁移至路径规划、资源调度等其他优化场景中进行拓展研究。
understand 驽钝对对对发发发
understand
Visual Studio exception, possibly extension-related, resolved
已经博主授权,
源码
转载自 https://pan.quark.cn/s/a4b39357ea24 在信息技术领域,特别是软件编程行业,微软公司推出的集成开发环境(IDE)Visual Studio,凭借其卓越的功能和广泛的适用范围,成为了众多程序员的常用工具。不过,在实际
操作
期间,用户可能会遭遇各种挑战,其中一种较为普遍的挑战是“Visual Studio遭遇了异常情况,这或许与某个附加组件有关”。本文将详细研究这一现象的成因、潜在后果以及最终的应对措施。 ### 原因剖析 Visual Studio通过支持多种插件和附加组件来扩展其功能,这些组件通常由第三方开发者设计,旨在为用户提供更多个性化和专业化的工具。然而,这些插件的质量良莠不齐,部分可能未经过充分的测试或与特定版本的Visual Studio存在兼容性难题,从而在执行时引发异常。异常的出现可能源于以下几个因素: 1. **代码缺陷**:若附加组件中的代码存在逻辑问题或资源管理不当,就可能导致运行时异常。 2. **资源竞争**:多个插件同时占用相同的资源(例如内存、
文件
句柄等),可能会产生资源冲突,进而触发异常。 3. **依赖不匹配**:插件可能需要特定版本的库或框架,如果系统中安装的版本不一致,也可能导致异常。 4. **安全隐患**:部分插件可能存在安全漏洞,一旦被恶意利用,可能会导致更严重的问题,包括但不限于异常崩溃。 ### 后果分析 当Visual Studio遇到由附加组件引发的异常时,不仅会中断当前的工作进程,降低开发效能,还可能带来以下潜在风险: 1. **数据遗失**:若异常发生在保存
操作
之前,可能会导致未保存的工作内容遗失。 2. **稳定性减弱**:频繁的异常会导致Visual Stud...
C语言
70,038
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章