gpt4 book ai didi

c++ - 如何避免从文件中读取错误的 '\n'?

转载 作者:行者123 更新时间:2023-11-28 07:55:20 25 4
gpt4 key购买 nike

一种糟糕的字节存储方式:
我在文件中存储了一些字节。字节由任意位(1或0)组成。
大约十个字节构成一个日志项。我在日志末尾添加了一个“\n”
稍后当我从文件中读取时(文件以文本格式存储和读取)。
我发现日志中有两个字节组成了一个'\n'(0x0d,0x0a)
但是我使用文件流的'readLine()'来读取文件的内容,显然无法识别正确的行尾。
我得到的结果是一个质量,但是有没有更好的方法来存储字节(包含任意 1 或 0)并从文件中读取?
我在qt中使用c++,如果可能的话IDE下的解决方案应该更好。

我的英语很差。感谢您的耐心阅读!

最佳答案

我怀疑你正在使用 windows 并且你正在以文本模式写入并以二进制模式读取。

在 Windows 上,保存到文件系统的文本文件应该在行尾有\r\n (0x0d,0x0a)。以文本模式编写时,只要有\n,就会自动添加\r。以文本模式阅读会删除\r,因此您永远不会看到它。

如果您以相同的模式(文本或二进制)读写,那么您将看到与您写入的相同的数据。在 Linux 上,文本模式和二进制模式之间没有区别,但您应该正确选择模式以保持代码的可移植性。

如果这是一个二进制文件(听起来你写的是字节而不是字符串)那么你应该使用二进制模式进行读写。

关于c++ - 如何避免从文件中读取错误的 '\n'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12836008/

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