最近少し問題に直面しています。エラーチェックの目的で独自のfopen関数を実装したいと思います。
これまでの関連コードは次のとおりです。
enum _Errorcode_ openFile( const char * c_str_filename, const char * c_str_mode, FILE* the_file )
{
the_file = fopen( c_str_filename, c_str_mode );
if( the_file == NULL )
{
return FILE_IO_ERROR;
}
else
{
return OK;
}
}
私はこのような関数を呼び出します:
FILE * oFile = NULL;
...
ErrorCode = openFile( "myfile.txt", "r", oFile );
後でoFileのポインタアドレスを確認すると、それでもNULLを指しています。賢明なのは、私の関数が正常に戻り、失敗がないことです。どうしてこんなことに?
ファイルが存在します。fopen()関数をそのように呼び出すと、すべてが機能します。