f:=TFileStream.Create(sr.Name,fmopenread);
setlength(str,f.Size);
f.Read(str[1],f.Size);
if pos(s,str)>0 then这四句话是什么意思?小弟新手,请各位老手继续带一下,非常感谢!!!
setlength(str,f.Size);
f.Read(str[1],f.Size);
if pos(s,str)>0 then这四句话是什么意思?小弟新手,请各位老手继续带一下,非常感谢!!!
调试欢乐多
f:=TFileStream.Create(sr.Name,fmopenread);//创建一个只读文件流
setlength(str,f.Size);//设定str的长度 估计是个字符数组吧
f.Read(str[1],f.Size);//讲文件内容读入str中
if pos(s,str)>0 then //查找指定内容,如果存在则进行相关操作
setlength(str,f.Size);//给字符数组分配内存,设定str的长度,这里的str是delphi里面string类型
所以下面是从str[1]开始的
setlength(str,f.Size);//根据流的大小为Str分配内存
f.Read(str[1],f.Size);//将文件内容读入str中
if pos(s,str)>0 then //判断str是否存在指定字串这个代码在大文件下具有明显的缺陷,首先把流全部加到到str中,如果这个文件很大100M,那么程序效率非常低下,如果文件达到2G,则程序会直接爆掉。