2

ファイルを開きすぎてみます

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

しかし、「ファイルから読み取ることができません」というエラーがあります。

どうすれば修正できますか?マニフェストに宣言を追加する必要があるかもしれませんか?または、メトロアプリにはライブラリのみの権限がありますか?

4

2 に答える 2

2

おそらく、CreateFile2に適用されるのと同じ制限がfopen にも適用されます。

Windows ストア アプリから呼び出されると、CreateFile2 は簡略化されます。ApplicationData.LocalFolder または Package.InstalledLocation ディレクトリ内のファイルまたはディレクトリのみを開くことができます。名前付きパイプまたはメールスロットを開くか、暗号化されたファイル (FILE_ATTRIBUTE_ENCRYPTED) を作成することもサポートされていません。
于 2012-12-11T09:59:29.560 に答える
1

あなたが抱えている問題は、ユーザーがファイル ピッカーでファイルを選択した場合、またはそのようなファイルがアプリのパッケージの一部でない限り、モダン UI アプリがファイル システムへのアクセスを許可されていないという事実に起因します。

于 2012-12-10T19:25:56.287 に答える