1

Windows Phone 8 でサポートされている Win32 API によると、WP8 はfileapi.hCreateFile2、ReadFile、WriteFile などの多くのファイル操作 API をサポートしています。

しかし、私が含めるときは、<stdio.h>fopen、fread、fwrite、...を使用できます

これらの両方の API を使用して、テキスト ファイルを作成し、読み書きすることができます。

CreateFile2("hello.txt", ...);
fopen("hello.txt", ...);

... は、この質問にとって重要ではない他のパラメーターを意味します

もう 1 つは、そのテキスト ファイルがどこにあるのかわからないことです。インストールされた場所は読み取り専用の場所であるため、そうではありません。もう 1 つのケースはローカル フォルダーですが、ローカル フォルダーのパスは指定しません。

fileapi.hでは、これらの API (と)の違いと、それらstdio.hが作用する場所は何ですか?

P/S:私は WP ランタイム コンポーネントでやっています

4

1 に答える 1

0

主な違いは、これらの関数が使用する API セットです。

<stdio.h>標準 C ライブラリのファイル API を含む、<fileapi.h>Win32 API です。使用できるC++ API ( <iostream>) もあります。

どの API を使用する場合でも、ファイルの場所をローカル フォルダーに明示的に設定する必要があることがわかりました。

Platform::String^ localfolder = Windows::Storage::ApplicationData::Current->LocalFolder->Path;
Platform::String^ myFileName = Platform::String::Concat(localfolder, "\\myfile.txt");

注意すべきことの 1 つは、内部ではなくをPlatform::String^使用して いるため、ファイル名の指定には少し注意する必要があることです。wchar_tchar

wchar_t*そのため、ファイル名を取得する API を見つけて、それを使用して文字セットの変換を行う必要がないようにしてください。

例:_wfsopenの代わりに使用しfopenます。

于 2013-07-04T12:09:56.890 に答える