我正在使用C中的内存映射文件,并想知道是否有办法透明地用fopen替换FOLD*和内存映射文件.
例:
FILE * fp = g_fopen(...);
//Program does things to this fp.
fclose();
Run Code Online (Sandbox Code Playgroud)
但相反,是否有可能有FILE*fp = my_fopen(...)
我自己的函数会在磁盘mmap上打开一个文件,也许更改内容然后传回FILE*,而程序看不到除了新的my_fopen()和my_fclose()之外的任何不同.
这是否可以不必重写程序中的操作方式?