我一直在查看Doom 3 SDK代码,特别是他们的文件系统实现。
系统工作(我至少可以访问的代码)通过传递'idFile'对象,我注意到这个类提供了读和写方法以及维护文件*会员
这向我建议,在读取和写入访问或的情况下,文件被“打开”文件被关闭,并在调用Read()和Write之间重新打开(具有适当的访问权限) )。
这听起来是否正确还是我过度简化了?
如果不是这种情况(我怀疑它的哪一部分 - 由于速度等),是否有人对如何实现这种优雅的界面有任何建议?
请记住,我对C ++和stdio都很陌生(我非常肯定我很喜欢)。
答案 0 :(得分:1)
您可以在读写模式下打开文件*。
如果你这样做,你应该在阅读和写作之间进行更改时刷新并寻找已知位置,但是你不必重新打开文件。
答案 1 :(得分:0)
没有看过Doom代码(我猜你可以在创建对象时指定一个模式),你可以使用freopen()
重新打开一个文件(如果你在另一个模式下希望)不先关闭它。