私は C でメモリ マップ ファイルをいじっていましたが、fopen の FILE * をメモリ マップ ファイルに透過的に置き換える方法があるかどうか疑問に思っていました。
例:
FILE * fp = g_fopen(...);
//Program does things to this fp.
fclose();
しかし、代わりに、 FILE *fp = my_fopen(...) を持つことは可能ですか?
私自身の関数がディスク上のファイルを mmap で開く場所では、内容を変更して FILE * を返しますが、プログラムは新しい my_fopen() と my_fclose() 以外の違いを認識しません。
これは、プログラムで操作を行う方法を書き直さなくても可能ですか?