读书人

读取内存buf内容的有关问题

发布时间: 2012-03-19 22:03:05 作者: rapoo

读取内存buf内容的问题
一个文件中有含

Byte *buf = new buf[sizeof(unsinged)];
...
fread(buf, sizeof(unsinged), 1, fp);
我已将文件的一部分内容存在内存buf中, 可是cout buf的内容与实际的不相符.
我的问题是如何读取buf的内容?

[解决办法]
fread(buf, sizeof(unsinged), 1, fp);
---
fread(buf, sizeof(buf), 1, fp);
----
试试看

[解决办法]
fread(buf, sizeof(buf), 1, fp);
-----------------------------------
注意,buf是一个指针,sizeof(buf)的大小为4个字节.

Byte *buf = new buf[sizeof(unsinged)];
...
fread(buf, sizeof(unsinged), 1, fp);
我已将文件的一部分内容存在内存buf中, 可是cout buf的内容与实际的不相符.
我的问题是如何读取buf的内容?
---------------------------------
Byte在C/C++中是没有这个类型的,是自己指定的?
还有就是new buf[sizeof(unsinged)]: new后面跟着的是一个类型名字,如int等,你的buf是自己定义的一个类,然后实现了new运算符重载?就算如此,你自己定义了一个变量buf,变量名跟类型名buf一样,这样能通过编译?

应该这样做:
Byte *buf = new Byte[size];
......
fread(buf, sizeof(Byte) * size, 1, fp);

读书人网 >C++

热点推荐