どのファイルがどのモードで開かれているかを知りたいので、そのために fopen/ofstream やその他のファイル処理関数などのグローバル関数をオーバーライドしたい
必須:
FILE* fopen(filename, mode){ //Our own fopen
printf("%s-%s",filename, mode)// print filename na dmode
return fopen(filename, mode); // actual fopen
}
void main(){
FILE * fp = fopen("name.txt", "w");
fprintf(fp, "%s", "hello World");
fclose(fp);
}
出力は次のようになります: name.txt-w
1 つの解決策は、fopen の別の名前でラッパーを作成することですが、fopen はさまざまな場所から呼び出されるため、別の名前を使用したくありません。
上記のシナリオを実装する方法はありますか?