386 icePub_dictionaryCodeTransfer
l 函数原型:
int WINAPI icePub_dictionaryCodeTransfer(char strDictionaryFilename,char strSrc,char strCode)
输入:strDictionaryFilename 字典文件名
strSrc 待处理单词
输出:strCode strSrc对应信息
返回码:
l VC连接Lib方式声明
__declspec(dllexport)
int WINAPI icePub_dictionaryCodeTransfer(char strDictionaryFilename,char strSrc,char strCode);
l 动态调用例程
VC sample代码:
char strCode[1024];
typedef int (WINAPI ICEPUB_DICTIONARYCODETRANSFER)(char strDictionaryFilename,char strSrc,char strCode);
ICEPUB_DICTIONARYCODETRANSFER icePub_dictionaryCodeTransfer = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDlldll");
if(hDLLDrv)
{
icePub_dictionaryCodeTransfer = (ICEPUB_DICTIONARYCODETRANSFER )GetProcAddress(hDLLDrv, "icePub_dictionaryCodeTransfer");
}
if(icePub_dictionaryCodeTransfer)
icePub_dictionaryCodeTransfer("汉英字典txt","我",strCode);
if(hDLLDrv)
FreeLibrary(hDLLDrv);
AfxMessagBox(strCode);
VB sample 代码:
Private Declare Function icePub_dictionaryCodeTransfer Lib "icePubDlldll" (ByVal strDictionaryFilename As String,ByVal strSrc As String,ByVal strCode As String) As Integer
Dim a2 As Integer
Dim strCode As String
strCode=Space(1024)
a2=icePub_dictionaryCodeTransfer("汉英字典txt","我",strCode)
MsgBox strCode
=============================
387 icePub_dictionaryCodeTransferString
批量转换
l 函数原型:
int WINAPI icePub_dictionaryCodeTransferString(char strDictionaryFilename,char strSrcString,char strCode,int srcWordLen,char strFenge)
输入:strDictionaryFilename 字典文件名
strSrcString 待处理单词串
srcWordLen 待处理单词串里每一个单词长度(意思必须是定长)
strFenge strCode里每一个结果分隔字符串
输出:strCode strSrcString对应信息串
返回码:
l VC连接Lib方式声明
__declspec(dllexport)
int WINAPI icePub_dictionaryCodeTransferString(char strDictionaryFilename,char strSrcString,char strCode,int srcWordLen,char strFenge);
l 动态调用例程
VC sample代码:
char strCode[1024];
typedef int (WINAPI ICEPUB_DICTIONARYCODETRANSFERSTRING)(char strDictionaryFilename,char strSrcString,char strCode,int srcWordLen,char strFenge);
ICEPUB_DICTIONARYCODETRANSFERSTRING icePub_dictionaryCodeTransferString = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDlldll");
if(hDLLDrv)
{
icePub_dictionaryCodeTransferString = (ICEPUB_DICTIONARYCODETRANSFERSTRING )GetProcAddress(hDLLDrv, "icePub_dictionaryCodeTransferString");
}
if(icePub_dictionaryCodeTransferString)
icePub_dictionaryCodeTransferString("内码字典txt","忧飔萧然",2,strCode," ");
if(hDLLDrv)
FreeLibrary(hDLLDrv);
AfxMessagBox(strCode);
VB sample 代码:
Private Declare Function icePub_dictionaryCodeTransferString Lib "icePubDlldll" (ByVal strDictionaryFilename As String,ByVal strSrcString As String,ByVal srcWordLen As Integer,ByVal strCode As String,ByVal strFenge As String) As Integer
Dim a2 As Integer
Dim strCode As String
strCode=Space(1024)
a2=icePub_dictionaryCodeTransferString("内码字典txt","愁云惨淡",2,strCode, " ")
MsgBox strCode
===========
收邮件吧
一看你就是个刚毕业的,这些都不是事。你工作中使用的IDE都会帮你记住函数变量的名称,到时候你只需要敲出前几个字符,就能联想匹配。比如eclipse,xcode,VS。你要的词典当然也是有的。这要看你用到哪些引擎,比如cocos2d引擎,那么你去网上搜一下就有很多。也有一些公司压根就是用自己开发的函数库,网上也就不可能有词典。那你就得问你的同事了。一般都有文档解释每个函数的原型功能等,如果公司内部都没有那你除非自己造了。不过好在我们还是有eclipse,xcode,VS此类工具帮助嘛。
其中,涉及到文件的读写,这里给出包含的头文件和主要的方法:
#include <fstreamh>
#include <stringh>
#include <iostreamh>
//读文件用到的方法
fstream file;
fileopen("datatxt",ios::in);//以读方式打开文件datatxt
fileeof() 判断文件是否读完
filegetline(char line, int n)
getline方法用于从文件里读取一行字符。其中,第一个参数line是一个指向字符串的字符指针或存放字符串的字符数组,n表示本次读取的最大字符个数。
//写文件用到的方法
fileopen("datatxt",ios::out);//以写方式打开文件datatxt
filewrite(char line, int n)
write方法用于向文件写一行字符。其中,第一个参数line是一个指向字符串的字符指针或存放字符串的字符数组,n表示本次写的字符个数。
fileput(char c), put方法用于向文件写一个字符。
fileclose();//关闭文件 ,不论读或写文件,使用完后需要关闭文件。
程序如下,经过修改,显示没有错误和警告。但是运行时查找,插入,删除单词时就卡住了。请高人指点,到底是怎么回事?谢谢了!
dictionaryh
#ifndef _DICTIONARY_H
#define _DICTIONARY_H
const int size=30;
/公有部分/
dictionary::dictionary()//如果记录为空,创建一个作为结尾
{
textopen("d:\\tiny-dicttxt",ios::in|ios::out);
if(texteof())
text<<" ";
textclose();
}
void dictionary::findWord()
{
cout<<"请输入所要查询的单词"<<endl;
string word;
cin>>word;
textopen("d:\\tiny-dicttxt",ios::in);//打开一个文件作读 *** 作
int i=0;
while(1)
{
string temp;
text>>temp;
if(temp=="")//在数据的末尾加上表示文件结束
{
cout<<"未找到该单词"<<endl;
break;
}
if(word==temp)
{
cout<<"释义:";
do
{
text>>temp;
if(temp=="%")//在释义末尾加上%表示释义结束
break;
cout<<temp<<" ";
}while(temp!="%");
cout<<endl;
}
if(temp=="%")
break;
i+=size;
textseekg(i,ios::beg);
}
textclose();
}
void dictionary::insertWord()
{
cout<<"输入你所要添加的单词"<<endl;
string word;
cin>>word;
cout<<"输入你添加单词的释义"<<endl;
string paraphrase;
cinignore();
getline(cin,paraphrase);
cout<<paraphrase<<endl;
textopen("d:\\tiny-dicttxt",ios::in|ios::out);
char z;
int i=-size;
while(z!=''&&z!='+')//用来标识结尾,+用来表示删除一个单词留下的区域
{
i+=size;
textseekp(i);
text>>z;
}
if(wordlength()+paraphraselength()+4>size)//单词与释义之间一个空格和用于标识结尾的空格加%加空格所以加4
{
cout<<"输入太长,插入失败"<<endl;
return ;
}
textseekp(i,ios::beg);
text<<word<<" "<<paraphrase<<" % ";
if(z=='+')
{
textclose();
return ;
}
textseekp(i+size,ios::beg);
text<<" ";
textclose();
}
void dictionary::deleteWord()
{
cout<<"请输入删除的单词"<<endl;
string word;
cin>>word;
textopen("d:\\tiny-dicttxt",ios::in|ios::out);
string Deleted;
int i=-size;//标记删除的位置
do
{
i+=size;
textseekg(i);
text>>Deleted;
if(Deleted=="")
{
cout<<"未发现该单词,删除失败"<<endl;
return ;
}
}while(Deleted!=word);
textseekp(i);
text<<"+ ";//第一元素标记为+,表示空
for(int j=1;j<size;j++)
{
text<<" ";
}
cout<<"删除成功"<<endl;
textclose();
}
#endif
maincpp
using std::cout;
using std::endl;
using std::cin;
#include<fstream>
using std::ios;
using std::fstream;
#include<string>
using std::string;
using std::getline;
#include"dictionaryh"
class dictionary
{
public:
dictionary();
void findWord();
void insertWord();
void deleteWord();
private:
fstream text;
};
void instruction()
{
cout<<"请选择:\n(1)查找单词\n(2)插入单词\n(3)删除单词\n(4)退出\n";
}
int main()
{
instruction();
int select=0;
cin>>select;
while(select!=1&&select!=2&&select!=3&&select!=4)
{
cout<<"选择错误,请重新选择"<<endl;
instruction();
cin>>select;
}
dictionary oper;
bool exe=true;
while(exe)
{
switch(select)
{
case 1:
operfindWord();
break;
case 2:
operinsertWord();
break;
case 3:
operdeleteWord();
break;
case 4:
exe=false;
break;
}
if(select==4)
break;
instruction();
cin>>select;
while(select!=1&&select!=2&&select!=3&&select!=4)
{
cout<<"选择错误,请重新选择"<<endl;
instruction();
cin>>select;
}
}
return 0;
}
d:\\tiny-dicttxt 里的内容如下:(是个英德字典,左边一列是英语,右边是德语)
bird Raubvogel, Greifvogel
rabbit Kaninchen
monkey Affe
horse Pferd
crab Krabbe, Krebs
eagle Adler, Aar; Zehn-Dollar-Note
以上就是关于急急急~~求一个用MFC写的字典程序,能实现简单的查询就行,求高手们指点~全部的内容,包括:急急急~~求一个用MFC写的字典程序,能实现简单的查询就行,求高手们指点~、有没有程序员专用的代码字典,我是一名主C++的coder,有没有类似于英汉词典那样的方便查找代码的词典、编写一个程序,实现具有如下功能的交互式字典: (1)可以查询每个单词的解释。例如:输入“Hello”将显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)