请教用CFile打开文件后,利用GetLengh()得到的长度是不是文本文件中的字符数?
有没有函数可从文本文件查找指定的字符串??而且还要统计文件中有多少个要查找的字符串 问题点数:0、回复次数:15Top
1 楼xiaoliuzi(小六子)回复于 2003-09-04 19:00:52 得分 0
到msdn中搜搜看,我想应该没有直接到文本文件中找指定字符串的函数,可以读一段查一段吗.Top
2 楼fanqing(火影忍者+28%(准备学习进程/线程))回复于 2003-09-04 19:11:54 得分 0
字节数(占用多少字节)Top
3 楼grasshopperliu(老前辈——曾经沧海)回复于 2003-09-04 19:45:50 得分 0
个人认为是字符数。Top
4 楼let5flying(寒)回复于 2003-09-04 19:46:22 得分 0
可以把文件内容读到一个CString里,然后查找,统计Top
5 楼wangjinwang(王者之疯)回复于 2003-09-04 19:46:50 得分 0
实现不复杂:
char * p;
CFile file;
if(file.Open("c:\\test.txt",CFile::modeRead))
{
p=new char[file.GetLength()+1];
file.Read(p,file.GetLength());
*(p+file.GetLength())=0;
file.Close();
int count=0;
char * q=strstr(p,"Hello");
while(q&&*q)
{
count++;
q=q+strlen("Hello");
q=strstr(q,"Hello");
}
sprintf(p,"count=%d",count);
AfxMessageBox(p);
delete []p;
}Top
6 楼lyt_hf(lyt)回复于 2003-09-04 20:12:36 得分 0
是字节数,但因为每个字符占一个字节,所以也是字符数(但包括“回车”等字符)Top
7 楼cjwn(我爱Figo)回复于 2003-09-04 21:05:26 得分 0
应该是字节数.
中文字符占两个字节.
所以说是字符数是不妥当的.Top
8 楼longge520(longge520)回复于 2003-09-04 21:08:15 得分 0
当然是字节数啦Top
9 楼fqyugu()回复于 2003-09-04 21:31:16 得分 0
是字节数
Top
10 楼yangrudy(*Start From Scratch)回复于 2003-09-05 21:36:56 得分 0
字节数,我用过.Top
11 楼yangrudy(*Start From Scratch)回复于 2003-09-06 10:47:14 得分 0
更正:VC5.0版本帮助文件中指出CString::GetLength()将返回字符串所占字节的数目对于ASCII,这个描述是正确的,但如果是Unicode则实际上返回的是字符数而不是字节数.Top
12 楼tonybaobao(Tony宝宝)回复于 2003-09-06 11:03:28 得分 0
是字节数,绝对没错。不过有个假象可能会迷惑你:只要你回车一下,就多2个字节,原因就是回车是“\r\n”!呵呵!
当你新建一个txt文件的时候,你可以看一下,是0字节。Top
13 楼Sophic(crazygug)回复于 2003-09-06 19:08:40 得分 0
*(p+file.GetLength())=0;
这行代码是干什么用的?
我要统计文件中字符数怎么做呀?而用还要是可见的字符Top
14 楼syl5005(syl5005)回复于 2003-09-06 20:38:51 得分 0
那就在统计字数时,做一个IF检测呀,具体你自己看吧。Top
15 楼flinming(flinming)回复于 2003-09-06 20:56:55 得分 0
upTop



