gpt4 book ai didi

c++ - 如何在 C++ 中将流从文本模式更改为二进制?

转载 作者:太空狗 更新时间:2023-10-29 20:59:09 25 4
gpt4 key购买 nike

在我制作的游戏中,我需要从文件中读取 map 。假设一开始的一些数据是用字符写的,但是瓦片 map 是用二进制写的,我会以文本模式打开文件,然后在到达瓦片数据时将其切换到二进制模式。

有没有一种简单或标准的方法可以将 ifstream 从文本模式更改为二进制模式,同时保持文件中的相同位置?这也适用于写入部分,我将需要开始使用字符写入文件,然后更改为二进制模式。

编辑:我正在使用文本模式来使其可读并读取未知大小的字符串。例如,这一行:

map-name=TestMap

我读过这个

getline( mapFile, attribute, '=' );
getline( mapFile, mapName, '\n' );

如果没有换行符,我如何以二进制模式读取它?

最佳答案

模式在文件打开时建立,不能修改后来改了。如果文件中有任何二进制数据,你必须使用二进制模式。但是问题在哪里呢?你可以阅读二进制模式的文本;行尾可能看起来有点奇怪(但如果你也以二进制模式编写它则不是),否则,只要二进制数据实际应该没有问题是文字。

关于c++ - 如何在 C++ 中将流从文本模式更改为二进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25328479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com