0

cpp 没有独立存储设置或独立存储文件。所以我只是使用“FILE”和“fopen”来存储游戏数据。

但是当我使用“Xapdeploy”重新安装或升级应用程序或使用 vs 进行调试时,保存数据将丢失。那么我如何将它标记为独立存储文件。我的意思是当我升级应用程序时,该文件不会被系统删除。

4

1 回答 1

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);
}
于 2013-04-13T14:41:03.453 回答