Windows phone 8 使用文件调试WP8本机代码

Windows phone 8 使用文件调试WP8本机代码,windows-phone-8,Windows Phone 8,我正在开发一个WP8应用程序,它有一些本机代码(运行时组件)。 在运行时组件中,我需要检查c样式数组的内容。 因为这个数组不小,我想我能做的最好的事情就是把数组写在一个文件中 使用fopen/fwrite/fclose; 通过检查fopen和fwrite返回的值,我可以看到它成功了。 但我找不到该文件(使用Windows Phone Power Tools) 那么文件是在哪里写的呢? 是否有其他方法从visual studio将数组内容转储到文件(在计算机上)?我不熟悉WP8中的fopen/fw

我正在开发一个WP8应用程序,它有一些本机代码(运行时组件)。 在运行时组件中,我需要检查c样式数组的内容。 因为这个数组不小,我想我能做的最好的事情就是把数组写在一个文件中 使用fopen/fwrite/fclose; 通过检查fopen和fwrite返回的值,我可以看到它成功了。 但我找不到该文件(使用Windows Phone Power Tools)

那么文件是在哪里写的呢?
是否有其他方法从visual studio将数组内容转储到文件(在计算机上)?

我不熟悉WP8中的fopen/fwrite/fclose API。这可能意味着它不是一个可以用来提交应用程序的白名单API。在C++中使用ISOSt店时,最好只使用“Windows::存储:Apple:Debug::Noto-LoopLoad”。请参阅Win8代码示例@

谢谢Justin

以下是我最终如何做到这一点:

auto folder = Windows::Storage::ApplicationData::Current->LocalFolder;
Concurrency::task<Windows::Storage::StorageFile^> createFileOp(
    folder->CreateFileAsync(L"Data.bin", Windows::Storage::CreationCollisionOption::ReplaceExisting));

createFileOp.then(
    [nData, pData](Windows::Storage::StorageFile^ file)
    {
        return file->OpenAsync(Windows::Storage::FileAccessMode::ReadWrite);
    })
    .then([nData, pData](Windows::Storage::Streams::IRandomAccessStream^ stream)
        {
            auto buffer = ref new Platform::Array<BYTE>(pData, nData);

            auto outputStream = stream->GetOutputStreamAt(0);
            auto dataWriter = ref new Windows::Storage::Streams::DataWriter(outputStream);                        
            dataWriter->WriteBytes(buffer);

            return dataWriter->StoreAsync();
        })
   .wait();

您是否重新启动了Windows Phone电动工具?不幸的是,它不会自动刷新以获取IsoStore的更改。贾斯汀:是的,这是我尝试的第一件事。还有一个“刷新”contexmenu按钮,但也没用。你怎么知道fopen/fwrite/fclose被列入黑名单?@entropy我怀疑他们是这样的-微软会因为将标准库的一部分列入黑名单而在C开发人员中引起骚乱。。。
FILE *fp = fopen("Data.bin", "wb");
if (fp)
{
    int ret = fwrite(pData, 1, nData, fp);
    fclose(fp);
}