【发布时间】:2011-06-16 10:05:33
【问题描述】:
我正在编写一个游戏,现在我可以通过sqlite 使用一个类及其方法来实现一个文件系统。为了让生活更轻松,我计划编写一些函数,如fopen、fclose、fread、rename 等,以便能够隐藏基本函数并将我的调用定向到我的文件系统而不是原来的。对于前三个函数,这些原型对我来说一切正常:
File *fopen(String _Filename, String _Mode); // i have my own optimized File struct
void fclose(File *_File);
size_t fread(String *_DstBuf, size_t _ElementSize, size_t _Count, File *_File);
这很好用,因为我要么返回另一个结构或参数,除了 File* 而不是 FILE*,但是重命名函数似乎有点棘手!
int rename(String _OldFilename, String _NewFilename);
这几乎是相同的原型。除了我使用std::string(typedef'ed String)而不是const char*!知道如何说服我的编译器使用我的函数或忽略 stdio-one 吗?
【问题讨论】:
标签: c++ file-io stdio std shadowing