当前位置: 代码迷 >> Symbian >> Symbian CCoeEnv:Static()->FsSession()的有关问题
  详细解决方案

Symbian CCoeEnv:Static()->FsSession()的有关问题

热度:3712   发布时间:2013-02-26 00:00:00.0
Symbian CCoeEnv::Static()->FsSession()的问题
我有个令人很不解的问题:

方法一:
void CUtils::OverWriteToFileL(TFileName& fileName, const TDesC8& aResponseBuffer)
{
RFile file;

User::LeaveIfError(file.Replace(CCoeEnv::Static()->FsSession(), fileName, EFileWrite));
CleanupClosePushL(file);

TInt ret = file.Write(aResponseBuffer, aResponseBuffer.Length());
CleanupStack::PopAndDestroy(&file);

}

方法二:
void CUtils::OverWriteToFileL(TFileName& fileName, const TDesC8& aResponseBuffer)
{
RFile file;
RFs fsSession;

fsSession.Connect();

User::LeaveIfError(file.Replace(fsSession, fileName, EFileWrite));
CleanupClosePushL(file);

User::LeaveIfError(file.Write(aResponseBuffer, aResponseBuffer.Length()));  
CleanupStack::PopAndDestroy(&file);

fsSession.Close();
}

方法一不可行,运行到User::LeaveIfError(file.Replace(CCoeEnv::Static()->FsSession(), fileName, EFileWrite));程序跳出;方法二正常运行,file.Write返回值是0.

我的capability 也都加了可就是找不到原因,急,在线等……
------最佳解决方案--------------------------------------------------------
同意楼上。方法一适合GUI程序,方法二Console程序
------其他解决方案--------------------------------------------------------
CCoeEnv::Static()在控制台程序是取不到指针的
------其他解决方案--------------------------------------------------------
我的是控制台程序,也就是说使用方法二是正解
  相关解决方案