读书人

一个关于十六进制的.dat文件读取与匹配

发布时间: 2012-12-31 11:57:52 作者: rapoo

一个关于十六进制的.dat文件读取与匹配某一个关键字的问题
我现在有一个24MB大小的.dat文件(据说.dat文件的数据格式都是十六进制的),定义了一个char 类型的filebuf[FILESIZE],FILESIZE大小为50*1024*1024,我先读到这个filebuf里面,然后存到另外一个文件(test.txt)里,然后我打开那个文件,查看十六进制的数据和文件的大小都和之前的.dat文件一样。但是当我用printf("%s\n", filebuf)输出filebuf里面的内容时候,只有一个乱码,而且输出filebuf的大小也和文件的大小一样,实在是搞不明白,求解。。。。
[解决办法]
printf %s 只能输出文本,而你的内存里不是文本,当然不能输出, 你用 %x 就可以了。

[解决办法]
我认为复制内存和打印内存是不一样的。
[解决办法]

引用:
引用:

printf %s 只能输出文本,而你的内存里不是文本,当然不能输出, 你用 %x 就可以了。

但是我的数据时用char类型的保存下来的,用%s输出应该木有问题的啊


--字符 1 ,实际的数值是 49,不是1

你明白上面这句话的意思吗?



读书人网 >C语言

热点推荐