我们可以在 SDL2 中使用 std::fstream 而不是 SDL_RWops 吗?

Kha*_*CTG 4 c++ fstream sdl-2

如题,在处理I/O文件方面SDL_RWops有什么优势std::fstream吗?我可以std::fstream改用因为我更熟悉它吗?

sky*_*ack 5

通过阅读他们的文档,您可以发现这std::fstream是一个:

对文件进行操作的输入/输出流类。

另一方面,还有SDL_RWops更多:

SDL_RWops 是对 I/O 的抽象。它提供了在流中读取、写入和查找数据的接口,调用者无需知道数据来自何处。

例如,RWops 可能由内存缓冲区、磁盘上的文件或与 Web 服务器的连接提供,而不会改变调用者使用数据的方式。

相当强的抽象。

那么,您可以使用std::fstream代替SDL_RWops您的文件吗?当然,如果你觉得更有信心,那就去吧。后者是对游戏中任何类型流的有用抽象,因此其优势在于读取文件之外的东西。