获取Windows Phone上的工作目录

时间:2015-01-11 00:16:15

标签: c++ windows-phone-8

如何获取Windows Phone上的当前工作目录?

Windows Phone不支持

_wgetcwdGetCurrentDirectory

1 个答案:

答案 0 :(得分:0)

Windows应用商店应用没有“当前目录”的概念(操作系统将其设置为安装位置,并且不允许您更改它)。

更有趣的问题是你想用工作目录做什么。通常,您将使用WinRT StorageFile API来读取和写入文件,但如果您想使用CreateFilefopen,则可以从WinRT StorageFolder获取路径:

void foo()
{
  using namespace Windows::ApplicationModel;
  using namespace Windows::Storage;

  auto installLocation = std::wstring(Package::Current->InstalledLocation->Path->Data());
  auto dataLocation = std::wstring(ApplicationData::Current->LocalFolder->Path->Data());
  OutputDebugString((installLocation + L"\r\n" + dataLocation).c_str());
}

对于我的测试应用,打印

  

d:\ TEMP \ UniversalScratch \ UniversalScratch \ UniversalScratch.Windows \ BIN \ 86 \调试\ AppX中   C:\ Users \用户彼得\应用程序数据\本地\软件包\ 257de9ed-b378-4811-98e6-226e15a3f7f0_tp1tpcm9wdwpy \ LocalState

如果您使用fopen(或fopen_s)与相对文件名,它将相对于您的安装包。