急,在线等!!!!!!!!!!!
我的问题还没有解决啊,
dog 狗
pig 猪
cat 猫
duck 鸭
cattle 牛
这是我记事本的文件,我现在已经拆分了字符串,现在需要两个数组来分别存放英语和汉语,然后根据用户输入的英文来查找相应的中文。请大家给我源代码,谢谢
我打开文件和拆分字符串的源代码如下:
CFile file;
BOOL bRet;
CFileException e;
bRet = file.Open(".\\translate.txt",CFile::modeRead,&e);
DWORD fLength=file.GetLength() + 1;
char* m_myBuffer;
m_myBuffer= new char[fLength];
memset(m_myBuffer,0,fLength);
while(file.Read(m_myBuffer,fLength -1));
{
CString m_strEnglish="";
CString m_strChinese="";
CString str="";
TCHAR ch=' ';
int i=str.Find(ch);
m_strEnglish=str.Left(i);
m_strChinese=str.Right(str.GetLength()-i-1);
m_strChinese.Remove('\n');
}
file.Close();
delete m_myBuffer;
这里我是定义的CString类型,肯定是不行的。
问题点数:0、回复次数:3Top
1 楼w100(石头~鱼儿)回复于 2004-08-03 15:10:00 得分 0
用CStringList Class试试。
既然你用MFC的话。
或 直接用数组Top
2 楼whale()回复于 2004-08-03 15:10:27 得分 0
一次就分配整个文件长度大小的缓冲区,太浪费了,要是文件很大,岂不是。。。。
while(file.Read(m_myBuffer,fLength -1));
{}
后面那个分号是手误还是....?
如果没有那个分号,这个循环应该只能执行一次,无法达到你的效果。
建议使用CStdioFile,CStdioFile提供了ReadString方法来从文本文件读入一行到一个CString对象(并且去掉了\n),然后你再拆分就可以。Top
3 楼LY198196900(李俊锋)回复于 2004-08-03 15:19:01 得分 0
不是哈,主要我想通过这个对文件操作有点了解,文件大小就那么大,不考虑这个因素了
还有我用的是6。0 ,麻烦各位了。Top




