C++读写dbf文件头,向第12-13字节里添加两个校验字符

来源:互联网 发布:长期招异地淘宝客服 编辑:程序博客网 时间:2024/05/22 12:25

本人C++小白,如有错误,还请指正,谢谢。

写这个函数,是因为本人项目里用到了。

/**描述:测试读取dbf,和写入dbf备用地址,校验字符创建人:jk.zheng创建时间:20151211*/#include "afx.h"#include "stdio.h"/**从DBF文件头12-13字节上读取校验字符。jk.zheng@20151211*/char* OnReadDbfHead(const char* DbfFileName,char str[2]){ char *ch=str;FILE*   m_DbfFile_fp;       //****Dbf文件指针       //打开dbf文件if((m_DbfFile_fp=fopen(DbfFileName,"rb+"))==NULL)        {               return ch;        } //指针跳到第12个字节位置,开始准备读取校验字符fseek(m_DbfFile_fp,12,0);//char ch[2];fread(ch,sizeof(char),2,m_DbfFile_fp); //printf("%c%c",ch[0],ch[1]);fclose(m_DbfFile_fp);return ch;}/**向DBF文件头里写入校验字符,在12-13字节上。jk.zheng@20151211*/int OnWriteDbfHead(const char* DbfFileName,char str[2]){char *ch=str;FILE*   m_DbfFile_fp;       //****Dbf文件指针       //打开dbf文件if((m_DbfFile_fp=fopen(DbfFileName,"rb+"))==NULL)        {               return 0;        }        //向备用地址写入两个字符'y','k',用来验证使用fseek(m_DbfFile_fp,12,0);int ret;ret = fwrite(ch,sizeof(char),2,m_DbfFile_fp);//printf("%d",ret);return ret;}int _tmain(int argc, _TCHAR* argv[]){const char* dbffilename;dbffilename="C:\\Users\\jkzheng\\Desktop\\a1537zkk.dbf";//写入校验字符/**char str[2]={'y','k'};int ret;ret = OnWriteDbfHead(dbffilename,str);if(ret=0){printf("%s","文件被占用!");return 0;}if(ret=2){printf("%s%d","写入校验字符成功!",ret);}else{printf("%s%d","写入校验字符失败!",ret);}*///读取校验字符char str2[2];OnReadDbfHead(dbffilename,str2);if(sizeof(str2)!=2){printf("%s%d","读取校验字符长度不正确!",strlen(str2));return 0;}if(str2[0]!='y'&&str2[1]!='k'){printf("%s","读取校验字符有误!");return 0;}printf("%s%c%c\n","校验字符为:",str2[0],str2[1]);return 0;}


0 0