cpp没有IsolatedStorageSettings或IsolatedStorageFile。 所以我只是使用“FILE”和“fopen”来存储游戏数据。
但是当我使用“Xapdeploy”重新安装或升级应用程序或使用vs. 保存数据将丢失。 那么我怎么能将它标记为IsolatedStorageFile。 我的意思是当我升级应用程序时,系统不会删除该文件。
答案 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);
}