微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对于许多通过恐惧阅读的字符

如何解决对于许多通过恐惧阅读的字符

我正在尝试以二进制模式打开文件并将内容写入C ++中的缓冲区。 我为此使用fread。但是出了点问题。 我的代码是:

FILE * in = fopen("in","rb");
_in = new unsigned char [length_in];
fread(_in,sizeof(char),length_in,in);

调试时,我可以看到_in = unsigned char * "Asdfghjkl\x1f \x10"

重建程序时,\x1f \x10部分会随机变化或消失。

我一直期望的是_in = unsigned char * "Asdfghjkl"

length_in替换为9时,我仍然得到类似"Asdfghjkl\x1f \x10"的信息。

我想念的是什么。我正在使用Mac和Xcode。

解决方法

您的数组是未初始化创建的,因此它们是来自内存中任何内容的垃圾值。像这样将其初始化为零:

_in = new unsigned char [length_in]();

fread返回读取的字节数。如果您将其当作字符串来对待,请确保结果以空值结尾。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。