在地铁应用程序中使用fopen打开文件

时间:2012-12-10 19:06:20

标签: c++ visual-c++ windows-8

我试着打开文件

const char *path = "C:/1/123.somebinaryfile";
FILE *f = fopen(path, "rb");

但我有错误“无法从文件中读取”。

我如何解决它?可能是我必须在清单中添加一些声明吗?或者metro应用程序只允许库?

2 个答案:

答案 0 :(得分:2)

适用于CreateFile2的相同限制也适用于fopen:

从Windows应用商店应用调用时,简化了CreateFile2。只能打开ApplicationData.LocalFolder或Package.InstalledLocation目录中的文件或目录。也不支持打开命名管道或邮箱或创建加密文件(FILE_ATTRIBUTE_ENCRYPTED)。

答案 1 :(得分:1)

您遇到的问题来自于Modern UI应用程序不允许访问文件系统,除非用户选择了带文件选择器的文件,或者此类文件是应用程序包的一部分。