- 主题:用fwrite写入的float怎么用java读出来?
写入的时候在c++里,用fwrite, 类似于
fwrite(&y, sizeof(float), 1, fp);
现在想用java读出来,但读不正确的数据出来
我主要尝试了两种方法,
一种是InputStream下面直接用read(bytep[])的方式, 能读出内容, 但和写入的数据对
不上
一种是InputStream下面,再用DataInputStream, 不管是read(), readFloat, 还是read
Double()都读不出正确数据
请指点一下?
--
FROM 123.119.237.*
fp的格式确定一下,然后用java当byte分析?
--
FROM 223.104.39.*
fp open时设了bin模式没有
大小端是否一致
【 在 fishingriver 的大作中提到: 】
: 写入的时候在c++里,用fwrite, 类似于
: fwrite(&y, sizeof(float), 1, fp);
: 现在想用java读出来,但读不正确的数据出来
: ...................
--
FROM 125.119.235.*
你在c++中输入了int,在java中读出来会一样的吗?
如果不一样的话,属于字节排序问题的,可以自己定义或者使用类似
https://linux.die.net/man/3/htonl
【 在 fishingriver 的大作中提到: 】
: 写入的时候在c++里,用fwrite, 类似于
: fwrite(&y, sizeof(float), 1, fp);
: 现在想用java读出来,但读不正确的数据出来
: ...................
--
FROM 114.255.101.*
是的是的, 就是大小端的问题, 我已经搞定了, 谢谢
【 在 shootings 的大作中提到: 】
: 你在c++中输入了int,在java中读出来会一样的吗?
: 如果不一样的话,属于字节排序问题的,可以自己定义或者使用类似
:
https://linux.die.net/man/3/htonl: ...................
--
FROM 123.119.237.*