如何在一個文件中快速查找某個給定的字符串?? 我目前採用的方法是先一個字符一個字符讀進來,判斷是否與給定字串的首字母相符,相符就再讀進與字串一樣長度的字符串,再進行比較,這樣的方法感覺有點慢,但是又想不到還有甚麼更好的 辦法,希望高手指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以看看时间,是不是大部分的时间都花在读文件上了?如果是这样的话,就一段一段的读进来(如果文件不大就全读进来)然后调CString的函数.find试试,如果还不快就没辙了 我讀得是bin文件,一般都有1M或2M的大小,感覺如果一個字符一個字符的讀會太慢但是如果又不能全讀到內存裡面再找吧ps;一個一個的讀和一次全讀進來有區別麼?是調用函數太花時間嗎? CStdioFile file; if(file.Open("c:\\1.txt", CFile::modeRead)) return; CString strLine, strKey="name"; while(file.ReadString(strLine)) { if(strLine.Find(strKey) != -1) { AfxMessageBox("find!"); break; } } 那就得计算前面每一行的长度Find能返回找到的第一个字符位置然后相加 Win7下如何文件关联? 孙鑫C++视频有点问题想问下 select多线程的问题 我的程序时间一长就死掉了,大家帮我分析一下: 请问大家,哪个函数可以修改“组策略”中的审核策略?还有共享策略? 怎样向工程中添加一个 BMP 的资源文件 Vc.Net2003怎样把预编译文件(stdafx.h)改名?(200分内进) 数据查询,急求解答! 在线等,Opencv能跟踪DNF游戏里面怪物的移动吗?是不是与现实跟踪不一样 重金寻数码排版软件开发 help 有两台机器,可否实现通过第一台机器远程控制第二台机器的com接口,在第二台机器上只有操作系统? 请问vc中的richedit控件该怎么使用
如果是这样的话,就一段一段的读进来(如果文件不大就全读进来)
然后调CString的函数.find试试,如果还不快就没辙了
但是如果又不能全讀到內存裡面再找吧
ps;一個一個的讀和一次全讀進來有區別麼?是調用函數太花時間嗎?
if(file.Open("c:\\1.txt", CFile::modeRead))
return; CString strLine, strKey="name";
while(file.ReadString(strLine))
{
if(strLine.Find(strKey) != -1)
{
AfxMessageBox("find!");
break;
}
}
Find能返回找到的第一个字符位置然后相加