我已经弄了三天了,实在找不出错误,求帮忙!

Henecian Henecian 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
诚心求帮忙!做的是中文分词技术中的字符串匹配。
前面这一部分代码用于c++链接access的代码编译的时候没有错,一运行就报错“abnormal program termination”。后面的代码单独调试过没有错。

#include <afx.h>//CString
#include <afxdao.h>
#include <iostream>
using namespace std;
//access2007
#include <fstream>
#import "C:\Program Files\Common Files\System\ado\msado15.dll" rename("EOF", "adoEOF")
using namespace ADODB;
using std::ofstream;

/*------------------------定义一个CMyDictionary-----------------------------------*/
class CMyDictionary
{
CDaoDatabase *pDatabase;//数据库类指针
CDaoRecordset *pWords;
CDaoTableDef *pWordsDef;
public:
CMyDictionary();
~CMyDictionary();
long GetFreq(CString w);
};

CMyDictionary Dict;

/*------------------------CMyDictionary的构造函数-----------------------------*/
CMyDictionary::CMyDictionary()
{
pDatabase=new CDaoDatabase;
pDatabase->Open("d:\\myfile\\mydict.accdb");////打开数据库-----------------
pWordsDef=new CDaoTableDef(pDatabase);
pWordsDef->Open("words");//打开词表结构,词表名作为参数
pWords=new CDaoRecordset(pDatabase);
pWords->Open(pWordsDef);//打开词表记录集,用词表结构指针作为参数
}

/*----------------------------CMyDictionary的析构函数--------------------------------*/
CMyDictionary::~CMyDictionary()
{
if(pWords)
{pWords->Close();delete pWords;}
if(pWordsDef)
{pWordsDef->Close();delete pWordsDef;}
if(pDatabase)
{pDatabase->Close();delete pDatabase;}
}

/*---------------------------查词的词典中是否有该词--------------*/
long CMyDictionary::GetFreq(CString w)
{
COleVariant kw(w,VT_BSTRT),kf;
pWords->SetCurrentIndex("word");
if(pWords->Seek("=",&kw))
{
return 1;//词典中找到了该词
}
else return -1;//词典中未找到该词
}
...全文
评论 6
收藏 已收藏
分享
返回顶部
Henecian
数据库 4,017 成员 39,805 内容