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

如题所述

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就是读到的值
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-06
FILE* f;
float n;
fscanf(n, "%d", f);

C语言怎样接收double类型变量输入
1、首先我们打开Dev C++软件,新建一个C语言项目,如下图所示 2、接下来在C语言文件中通过scanf让用户输入数字,接着在打印数字,注意这里用的lf接收double数据类型,如下图所示 3、然后我们运行编写好的C语言文件,如下图所示 4、最后在弹出的CMD界面中我们就可以输入double类型的数据了,程序接收到数...

C++中怎么读取double类型的数
方法1,最简单的,cin include <iostream>using namespace std;int main(){ double dfloat; cin>>dfloat; cout<<"input: "<<dfloat; return 0;}方法2,scanf include <iostream>#include <cstdio>using namespace std;int main(){ double dfloat; scanf("%lf", &dfloat...

C++ 以double类型读入
\/\/可以用getline读取,然后简单的分析下字符串(以逗号把字符串分离得到各个数字字符串)\/\/再调用比如atof,strtod(#include<stdlib.h>)就可以转化成double型 \/\/如果你的数据定义的时候是一个结构体不必麻烦了,直接read就好

用c++程序,在2个G的txt文件中(都是double型数字),读取其中部分数据
那你就开一个60M的内存,分成两半,开两个线程。线程R一次读30M到内存中,线程P解析另一半已经读进内存中的数据。线程P解析完,等待R线程也读完另30M,交换内存,继续工作。

...bin文件,里面是double型的数据,我想在c++中读取存入double型的buffe...
你每读8个字节就放到一个double类型的量里面就行了,比如说 unsigned char readbuf[8];从文件里读8个字节出来放到readbuf里 然后把这8个字节的内容直接存到double类型的量里 double value;memcpy(&value,readbuf,8);需要注意的是读的顺序要和存的时候的字节顺序要对应 如果你是用的MFC的话,建议...

一个二进制文件内容如下,怎样用c语言或者c++读取Length、VerticalScal...
include<stdio.h>void main(){ double Length, Vertical_Scale; FILE *fp; fp = fopen("c:\\\\w.txt", "r");\/\/读取文本位置,自己改下 fscanf(fp, "Sample= \\nTemperature= 2.500000E+1\\n",stdin);\/\/跳过 fscanf(fp, "Length= %lf", &Length);\/\/找到Length 读取 后...

C++读取二进制代码 即读出来是0和1
C++是文件输入输出流来读写文件的 下面给出例子C++文件流:fstream\/\/ 文件流 ifstream \/\/ 输入文件流 ofstream \/\/ 输出文件流 \/\/创建一个文本文件并写入信息 \/\/同向屏幕上输出信息一样将信息输出至文件 include<iomanip.h> include<fstream.h> void main(){ ofstream f1("d:\\\\me.txt");\/\/...

C++ double类型
int main(void){ const char* inFile = "c:\\\\sample.txt";ifstream strm;strm.open( inFile, std::ios_base::in );if ( !strm ){ cout<<"File: "<<inFile <<" opened failed! Exit...";return -1;} double n=0;char ch;while ( !strm.eof() ){ if ( strm>>n ){ cout<...

c++ 如何读取 文件 中的 浮点数?
1 使用C++ STL的ifstream类,创建对象并打开文件后,利用插入操作(>>)读取浮点数。如 ifstream in("input.txt");double a;in >> a;2 使用C语言的fscanf函数。C++兼容所有C语言函数。所以可以通过fopen打开文件,并利用fscanf读入浮点数。如 FILE * in = fopen("input.txt", "r");double a;fs...

c++中double应该怎么用?
C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit, double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么,其实不论是float还是double在存储方式上都是遵从IEEE的规范 的,...

相似回答