无法在Visual Studio窗口中打开文件

时间:2018-10-03 19:16:13

标签: c++ uwp

我正在运行Windows 10并使用VS2017。下面的代码无法打开文件...

    std::ofstream output_file;
    output_file.open("datafile.txt", std::ios::out);
    if (!output_file.is_open())
    {
        std::cout << "This is the whole problem";
    }

这可能与写入/读取文件的权限有关,如何授予该权限。

1 个答案:

答案 0 :(得分:0)

在UWP应用中,默认情况下它可以访问某些文件系统位置。它还可以通过file picker或通过声明capabilities访问其他位置。您可以查看File access permissions主题以了解详细信息。

对于您的问题,似乎您想访问应用程序InstalledLocation中的文件,作为Application install directory的介绍,您可以使用C ++ / WinRT中的以下代码访问文件:

Windows::Foundation::IAsyncAction ExampleCoroutineAsync()
{
    Windows::Storage::StorageFile file{
        co_await Windows::Storage::StorageFile::GetFileFromApplicationUriAsync(Windows::Foundation::Uri{L"ms-appx:///datafile.txt"})
    };
    // Process file
}

或C ++:

auto getFileTask = create_task(StorageFile::GetFileFromApplicationUriAsync(ref new Uri("ms-appx:///datafile.txt")));
getFileTask.then([](StorageFile^ file) 
{
    // Process file
});