是C读数据问题!!请教大家!!帮帮忙

C++,这个数据是二进制的
把他转成float型读出来

就是读个数据----
请大哥帮我搞下,
我读出来的结果和人家的不一样
把代码贴出:
#include <iostream>
#include <fstream>
using namespace std;

void main ()
{
FILE *pFile=fopen("3.SLC","rb");
int *pBuf;
fseek(pFile,0,SEEK_END);
int len=ftell(pFile);
pBuf=new int[len/2];
rewind(pFile);
fread(pBuf,sizeof(float),len,pFile);
cout<<pBuf;
fclose(pFile);

}
大哥看看哪里出问题了???????????
数据文件在:http://superiorlw.gbaopan.com/files/8f911f6fef6f43eda6f3b6a5ee6a7cbe.gbp
-----这里下载

你想要的是float类型,为什么不用函数fscanf呢?
哦,搞错了哟,你的是二进制的,不能用fscanf函数哟!要用fread.
====================================
void main ()
{
FILE *pFile=fopen("3.SLC","rb");
float *pBuf;
fseek(pFile,0,SEEK_END);
int len=ftell(pFile);
pBuf=new float[len/4];
rewind(pFile);
fread(pBuf,4,len/4,pFile);
cout<<*pBuf<<endl;
delete[] pBuf;
fclose(pFile);
}
====================================
数据文件就你自己看吧,哈哈!
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-07-12
直觉是len的问题,fread应该改为:
fread(pBuf,sizeof(float),len/4,pFile);

=======================================
float是4字节的,。。。 -_-!

C语言关于整型数据溢出的一个问题请教
long 型数据要加附加格式说明符 l 。输出的格式:printf("%ld,%ld",a,b);注意,2个数都是用"%ld"格式输出,否则可能会得到意外的结果。你可以试试用下面的几个语句依次替换printf(“%d,%d”,a,b);1.printf("%d,%ld",a,b);2.printf("%d\\n",a);printf("%d\\n",b);3.printf("%ld\\...

几道数学题请教大家!麻烦帮忙解答
1、 180 2、 35 3、 5 4、 4000 5、 3110 2990 6、 6 B 10000

真诚的想请教大家一个小问题,也希望大家帮帮忙出出主意,就是在8月底...
真诚的想请教大家一个小问题,也希望大家帮帮忙出出主意,就是在8月底我接了一个督导工作,等促销员做完了,公司钱结给我这边交接的广告公司老板了,我这边老板是我之前在上海做活动认识的,他人现在在南京,到现在钱一直没打给我发给促销员,还整了几张假的转账信息,第一次上上周转我卡,但是一直没收到,我这边提供了...

各位帮忙看一下,我这程序哪里出了错误?
一般出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。 下面先说说硬件: 一般来说,内存出现问题的可能性并不大,主要方面是:内存条坏了、内存质量有问题,还有就是2个不同牌子不同容量的内存混插,也比较容易出现不兼容的情况,同时还要注意散热问题,特别是超频后。你可以使用MemTes...

VC中scanf语句使用疑难问题! 请大家帮忙解答!
void main(){ char a,b,c,d,e;scanf("%c",&a);fflush(stdin);scanf("%c",&b);fflush(stdin);scanf("%c",&c);fflush(stdin);scanf("%c",&d);fflush(stdin);scanf("%c",&e);printf("%c%c%c%c%c",a,b,c,d,e);} 你的头文件错了,还有就是你得加fflush(stdin);语句...

高手帮帮忙,这个怎么处理!???
解决方法:这可能是系统的兼容性问题,winXP的系统,右键“AutoRun.exe”文件,属性,兼容性,把“用兼容模式运行这个程序”项选择上,并选择“Windows 98\/Me”。win2000如果打了SP的补丁后,只要开始,运行,输入:regsvr32 c:\\\\winnt\\\\apppatch\\\\slayerui.dll。右键,属性,也会出现兼容性的选项。 例三:RealOne Gold关闭...

请教高数题,望大家帮帮忙!
1. y '' + 4y = 0 通解 y = C1 cos2x + C2 sin2x y '' + 4y = x 有一个特解 y = x\/4 , 其通解 y = C1 cos2x + C2 sin2x + x\/4 y(0) = 0, y '(0) = 1 => 常数 C1 = 0, C2 = 3\/8 => y = (3\/8) sin2x + x\/4 2. f(x) =...

有道会计的题,请教下大家,请帮帮忙!~
因为资产=所有者权益+负债 所以期初负债为 25-20=5万 本月以银行存款4万元支付现金股利,其分录为:借:应付股利 4 贷:银行存款 4 应付股利为负债科目,故资产和负债科同时减少了4万,所以上述业务入账后该公司的负债总额为5-4=1万元 不懂可继续追问!满意请点击采纳!谢谢~~...

C语言怎么学?
在学习C语言之前,首先就要选择一本教材,对于初学者,我个人并不建议去读电子书籍,最好是买纸质书来学习.比如比较有名的"C程序设计"就很不错,尤其是第二版.我也看过,比较适合中国人来初学.整本书都在全面系统的讲解C的语法结构,构成C的语言元素包括:数据类型,支持的运算符,标识符(是由程序员按照命名规则起的...

高手来帮帮忙啊,系统的问题啊!!!谢了!!!
解决方法:这可能是系统的兼容性问题,winXP的系统,右键“AutoRun.exe”文件,属性,兼容性,把“用兼容模式运行这个程序”项选择上,并选择“Windows 98\/Me”。win2000如果打了SP的补丁后,只要开始,运行,输入:regsvr32 c:\\winnt\\apppatch\\slayerui.dll。右键,属性,也会出现兼容性的选项。例四:...

相似回答
大家正在搜