0

どのファイルがどのモードで開かれているかを知りたいので、そのために 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 はさまざまな場所から呼び出されるため、別の名前を使用したくありません。

上記のシナリオを実装する方法はありますか?

4

0 に答える 0