为了账号安全,请及时绑定邮箱和手机立即绑定

用c或c++怎么读取二进制文件中的double类型

用c或c++怎么读取二进制文件中的double类型

C++ C
慕田峪7331174 2019-03-22 10:14:15
用c或c++怎么读取二进制文件中的double类型
查看完整描述

3 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

double占8字节。
1.用二进制模式打开文件
FILE* fd = fopen("your_file_path","rb");

2.精确定位文件到你要的数据处,(比如用fseek())

3。按字节读取8字节
double indata;
fread(&indata,1,8,fd);

4.如有必要(搞清你的二进制文件与本机的字节序是否相同),调整字节序
char* p = &indata;
char t = p[0]; p[0]=p[7]; p[7]=t; t=p[1]; p[1]=p[6]; p[6]=t; .....

5.使用得到的double值
上例中的indata就是读到的值

查看完整回答
反对 回复 2019-03-27
?
杨魅力

TA贡献1811条经验 获得超6个赞

方法1,最简单的,cin

1

2

3

4

5

6

7

8

9

#include <iostream>

using namespace std;

int main()

{

    double dfloat;

    cin>>dfloat;

    cout<<"input: "<<dfloat;

    return 0;

}

方法2,scanf

1

2

3

4

5

6

7

8

9

10

#include <iostream>

#include <cstdio>

using namespace std;

int main()

{

    double dfloat;

    scanf("%lf", &dfloat); //注意是lf,对应double

    cout<<"input: "<<dfloat;

    return 0;

}


 


查看完整回答
反对 回复 2019-03-27
  • 3 回答
  • 0 关注
  • 1174 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信