读书人

Symbian CCoeEnv:Static()-gt;FsSession

发布时间: 2012-12-15 15:16:03 作者: rapoo

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()在控制台程序是取不到指针的
[其他解释]
我的是控制台程序,也就是说使用方法二是正解

读书人网 >Symbian

热点推荐