如何使用cpp在WP8上升级应用程序时防止丢失的保存数据

时间:2013-04-12 17:33:22

标签: windows-phone-8 upgrade restore

cpp没有IsolatedStorageSettings或IsolatedStorageFile。 所以我只是使用“FILE”和“fopen”来存储游戏数据。

但是当我使用“Xapdeploy”重新安装或升级应用程序或使用vs. 保存数据将丢失。 那么我怎么能将它标记为IsolatedStorageFile。 我的意思是当我升级应用程序时,系统不会删除该文件。

1 个答案:

答案 0 :(得分:0)

您需要在LocalFolder(隔离存储的新名称)中保存数据才能保留数据。

您可以在C ++ / CX中使用Windows运行时API,这可能是最好的方法(特别是查找StorageFolder和StorageFile),尤其是如果您希望使用Windows应用商店应用程序保持可移植性。

但是,如果你想使用fopen,主要问题是这需要一个char[],而不是wchar_t[]文件名,该文件名由平台的其余部分使用。要解决这个问题,你需要......

void SaveToFile()
{
    // get local folder (= isolated storage)
    auto local = Windows::Storage::ApplicationData::Current->LocalFolder;
    auto localFileNamePlatformString = local->Path + "\\game.sav";

    FILE* pFile;
    auto f = _wfopen_s(&pFile, localFileNamePlatformString->Data(), L"w");
    auto res1 = fprintf(pFile, "123456789");
    auto res2 = fclose(pFile);
}