返回信息流出现问题的代码如下:
iPath.Zero();
iPath = aFilePath;
RFs fsSession;
RFile rFile;
User::LeaveIfError(fsSession.Connect());//连接
CleanupClosePushL(rFile);//入栈
if(rFile.Open(fsSession, aFileName, EFileRead) != KErrNone)
{
CleanupStack::PopAndDestroy(1);//出栈销毁
fsSession.Close();//关闭句柄
return;
}
TInt size(-1);
rFile.Size(size);//计算文件的大小
iBuf = HBufC8::NewL(size);
TPtr8 ptr=iBuf->Des();
rFile.Read(0, ptr, size);//读取文件
//rFile.Close();CleanupStack::PopAndDestroy(1);fsSession.Close();return;
/*开始解析*/
RFileReadStream rStreamFI(rFile, 0);
rStreamFI.PushL();
/*文件格式描述区段*/
/*...*/
rStreamFI.Close();
CleanupStack::PopAndDestroy(1);
/*META_INF文件区段*/
RFileReadStream rStreamMI(rFile, /*iFDA.META_INFOffset*/0);
rStreamMI.PushL();
iMIA.FileNum = rStreamMI.ReadInt16L();
iMIA.FileMapLength = rStreamMI.ReadInt16L();
大体目的为使用RFileReadStream类读取某已经链接上的rFile文件,关闭该stream后另定义个RFileReadStream对象并重新定位文件起始偏移。注释掉的部分均为读,没有写操作。调试到红色代码行时出现了进程挂死现象。
详细代码如下:
附件(8.8KB) CParseMEB.cpp
附件(3.3KB) CParseMEB.h
这是一条镜像帖。来源:北邮人论坛 / cpp / #29706同步于 2009/10/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
请教一个Symbian开发中RFileReadStream 类的问题……
p044313039
2009/10/11镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
【 在 p044313039 的大作中提到: 】
: 悲剧啊悲剧……啥都不懂的我直接被指派了任务……进退两难中……
我看了下,貌似代码逻辑挺好的啊,你模拟器配置没问题吗?