在我正在制作的游戏中,我需要从文件中读取一张地图。假设一些数据在开头是用字符写的,但瓦片地图是用二进制写的,我会先以文本模式打开文件,然后在到达瓦片数据时将其切换到二进制模式。
有没有一种简单或标准的方法可以在保持文件位置不变的情况下将 ifstream 从文本模式更改为二进制模式?这也适用于写入部分,我需要先使用字符开始写入文件,然后切换到二进制模式。
编辑:我使用文本模式使之可读,并读取未知大小的字符串,例如以下行:
如果没有换行符,我该如何以二进制模式读取这个内容?
有没有一种简单或标准的方法可以在保持文件位置不变的情况下将 ifstream 从文本模式更改为二进制模式?这也适用于写入部分,我需要先使用字符开始写入文件,然后切换到二进制模式。
编辑:我使用文本模式使之可读,并读取未知大小的字符串,例如以下行:
map-name=TestMap
我会用中文阅读这篇文章
getline( mapFile, attribute, '=' );
getline( mapFile, mapName, '\n' );
如果没有换行符,我该如何以二进制模式读取这个内容?