VC++,源码,求救,文件操作,字符查找,搜索.

来源:百度知道 编辑:UC知道 时间:2024/09/28 17:20:14
http://community.csdn.net/Expert/topic/5233/5233299.xml?temp=.4930231
上面链接有一个关于VC++的题目,大意如此:
在一具目录下全是文本文档,每个文档内容不同,需要用VC++实现在这个目录下所有文本中查找(搜索)一个指定的字符串,若找到后,记录字符串所在位置(几行,第几字符),
并在另外一个文本中输出文件名,位置.(在每个文本中找到的,在此文本用一行记录).存储到磁盘.希望能有高手在3天内解决.
kingstarer 朋友,若真能帮我做出这题,我把所有积分都给,以示感激.若你也不会,能帮我找到源码也行哦

如果是单个文本
将文本一句句地读到一个CString变量中,
用一个整型记录已读入的行数
然后使用CString类中的匹配函数,得出第几个字符匹配

这样行数列数都知道了,存到另一个文件中就行了

至于有很多文本,我不会,不过可以用取巧的文法,用
system("dir 目录名>>filename.txt")获得所有文件名存到filename.txt中
然后一个一个地进行操作

代码如下:告诉我邮箱,我给你把原代码发过去。(你的要求都实现了)写的有些乱,不好意思!就两个函数,一个是遍历文本文件,一个是读文本文件。
我们如果知道答案,就会告诉你,帮你一把,解决你的燃眉之急。并不是为了分数。你要明白啊!

char chFindString[1000];
FILE* m_WriteFile;

void CFindCStringDlg::OnButtonFind()
{
UpdateData(TRUE);
strncpy(chFindString,(LPCTSTR)m_strFindString,sizeof(chFindString));
AddFile(m_strLoadPath);
UpdateData(FALSE);
}

void CFindCStringDlg::AddFile(CString strPath)
{
CFileFind OneFile;
CString FName, DirName;
BOOL BeWorking;

m_WriteFile = fopen("chinshiro.Log","a+"); //保存到相对路径

DirName = strPath+"\\*.txt"; //改成*.*,可以遍历包含文件夹
BeWorking = OneFile.FindFile(