cpp 没有独立存储设置或独立存储文件。所以我只是使用“FILE”和“fopen”来存储游戏数据。
但是当我使用“Xapdeploy”重新安装或升级应用程序或使用 vs 进行调试时,保存数据将丢失。那么我如何将它标记为独立存储文件。我的意思是当我升级应用程序时,该文件不会被系统删除。
cpp 没有独立存储设置或独立存储文件。所以我只是使用“FILE”和“fopen”来存储游戏数据。
但是当我使用“Xapdeploy”重新安装或升级应用程序或使用 vs 进行调试时,保存数据将丢失。那么我如何将它标记为独立存储文件。我的意思是当我升级应用程序时,该文件不会被系统删除。
您需要将数据保存在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);
}