我最近遇到了一些问题。我想实现我自己的 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 的指针 addr,它仍然指向 NULL。最重要的是,我的功能返回正常,没有失败。为什么呢?
该文件存在,如果我这样调用 fopen() 函数,一切正常。