Cで書かれた(編集できない)DLLがあり、次のような関数プロトタイプがあります。
#include <stdio.h>
void foo(FILE *bar);
DLLへのJNAインターフェイスを作成したいのですが、FILE*bar引数に何を渡す必要があるのかわかりません。私はInputStream(私の好みです)を渡す必要があると思いますが、JNAの文献はこの主題に関してまばらに見えます。
Javaインターフェイスはどのようになりますか?そして、私は本当にfooに何を渡す必要がありますか?
編集:fooは、barがfopenの結果であると想定し、fscanfなどの操作を呼び出します。
編集2:最終的に、私はJavaに文字列を持っており、それをファイルであるかのようにCで読み取る必要があります(これはまったく別の質問かもしれません)。理想的には、ファイルの書き込みを避けたいので、InputStreamをCファイルポインターに変換することが非常に望ましい(そして明らかに非常に難しい)理由です。