急!请高手指点! vb 如何生成一.dbf的数据库,怎么往生成的数据库中添加数据。有四个字段,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 参考这个可能有用#include <stdio.h>#include <string.h>#include <share.h>#include <conio.h>//-------------------------------------------------------typedef struct HeadOfDbf { unsigned char tab; unsigned char year; unsigned char month; unsigned char day; unsigned long recnum; unsigned int offset; unsigned int reclen; char save[20];} InfoOfDbfHead;typedef struct HeadOfDbfIndex { unsigned char fname[11]; unsigned char type; long addr; unsigned char width; unsigned char doc; char save[14];} InfoOfDbfIndex;InfoOfDbfHead Head;InfoOfDbfIndex Index[48];int offset[48],n;FILE *fdbf;unsigned int rec,field,fieldnum,i;char buf[128];//-------------------------------------------------------void main(int argc,char *argv[]){ if (argc==1) { cprintf("DBF name[.DBF]"); return; } strcpy(buf,argv[1]); strcat(buf,".dbf"); if ((fdbf=_fsopen(buf,"r+b",SH_DENYNO))==NULL) { cprintf("db_open error"); return; } fseek(fdbf,0L,SEEK_SET); fread(&Head,sizeof(InfoOfDbfHead),1,fdbf); fieldnum=(Head.offset-1)/32-1; fseek(fdbf,32,SEEK_SET); n=0; for(i=0;i<fieldnum;i++) { offset[i]=n; fread(&Index[i],sizeof(InfoOfDbfIndex),1,fdbf); n=n+Index[i].width; } for (rec=0;rec<Head.recnum;rec++) { printf("\n?); for (field=0;field<fieldnum;field++) { fseek(fdbf,(long)(Head.offset+1+rec*(long)Head.reclen+offset[field]),SEEK_SET); fread(buf,1,Index[field].width,fdbf); buf[Index[field].width]=0; printf("%s?,buf); } } fclose(fdbf);} 怎么检查一个listbox里面的数据是否存在 [求助]礼拜三要交的作业 如何确定treeview的父亲结点 本人菜鸟:ActiveX(ocx)签名...在线等! 谁给我介绍一本学vb的好书 终于申请成功,散分。 请帮忙 编写一个借助FTP上传和下载的工具(跪求) 数据库的问题 关于数据库问题 关于webbrowser的问题,请高手帮忙啊! 寂寞的节日写个YY帖算过节
#include <string.h>
#include <share.h>
#include <conio.h>
//-------------------------------------------------------
typedef struct HeadOfDbf {
unsigned char tab;
unsigned char year;
unsigned char month;
unsigned char day;
unsigned long recnum;
unsigned int offset;
unsigned int reclen;
char save[20];
} InfoOfDbfHead;
typedef struct HeadOfDbfIndex {
unsigned char fname[11];
unsigned char type;
long addr;
unsigned char width;
unsigned char doc;
char save[14];
} InfoOfDbfIndex;
InfoOfDbfHead Head;
InfoOfDbfIndex Index[48];
int offset[48],n;
FILE *fdbf;
unsigned int rec,field,fieldnum,i;
char buf[128];
//-------------------------------------------------------
void main(int argc,char *argv[])
{
if (argc==1) {
cprintf("DBF name[.DBF]");
return;
}
strcpy(buf,argv[1]);
strcat(buf,".dbf");
if ((fdbf=_fsopen(buf,"r+b",SH_DENYNO))==NULL) {
cprintf("db_open error");
return;
}
fseek(fdbf,0L,SEEK_SET);
fread(&Head,sizeof(InfoOfDbfHead),1,fdbf);
fieldnum=(Head.offset-1)/32-1; fseek(fdbf,32,SEEK_SET);
n=0;
for(i=0;i<fieldnum;i++) {
offset[i]=n;
fread(&Index[i],sizeof(InfoOfDbfIndex),1,fdbf);
n=n+Index[i].width;
} for (rec=0;rec<Head.recnum;rec++) {
printf("\n?);
for (field=0;field<fieldnum;field++) {
fseek(fdbf,(long)(Head.offset+1+rec*(long)Head.reclen+offset[field]),SEEK_SET);
fread(buf,1,Index[field].width,fdbf);
buf[Index[field].width]=0;
printf("%s?,buf);
}
}
fclose(fdbf);
}