我有个ascii文件,需要按行读取写入TBuf8,然后查找其中字符串“BEGIN”的出现次数,可是就是查找不成功,用RFileText和RFile都尝试过。求高人指教,不甚感激。
我的代码如下:
RFile实现:
TUint vCardCount=0;
TBuf8<1> ch;
TBuf8<64> line;
TInt curPos=0;
TInt endPos=0;
file.Seek(ESeekEnd,endPos);
file.Seek(ESeekStart,curPos);
const unsigned char findString[]="BEGIN";
TBuf8<5> findStr(findString);
int i=0;
while(curPos!=endPos)
{
file.Read(ch,1);
file.Seek(ESeekCurrent,curPos);
line.Append(ch[0]);
if(ch[0]=='\n')
{
if(KErrNone==line.Match(findStr))
{
vCardCount++;
}
line.Delete(0,line.MaxLength());
}
}
RFileText实现:
主要是将ascii码读入TBuf16,然后就TBuf8强制转换成16,再进行比较
求大牛赐教,感激不尽,谢谢
------解决方案--------------------------------------------------------
RFileReadStream::ReadTUint8