读取二进制文件到txt,包括大小端转换
来源:互联网 发布:单片机产生时序信号 编辑:程序博客网 时间:2024/05/22 13:37
不多说,直接上代码
#include<stdio.h>
#include<stdlib.h>
#include<fstream>
#include <iomanip>
#include <vector>
#include<math.h>
using namespace std;
#define L 101
#define M 102
#define N 103
void OnChange(float InParam, float &OutParam)
{
union
{
char ch[4];
float iTemp;
}u,r;
u.iTemp = InParam;
r.ch[0] = u.ch[3];
r.ch[1] = u.ch[2];
r.ch[2] = u.ch[1];
r.ch[3] = u.ch[0];
OutParam = r.iTemp;
}
int main()
{
ofstream outfile("faultLabel.txt");
FILE *fp;
fp=fopen("faultLabel.dat","rb");
float ***v;
v=(float***)malloc(N*sizeof(float**));
for (int i=0;i<N;i++){
v[i]=(float**)malloc(M*sizeof(float*));//分配空间,每个二级指针又指向m个一级指针
for (int ii=0;ii<M;ii++){
v[i][ii]=(float*)malloc(L*sizeof(float));//分配空间,每个一级指针指向长度为l的一维数组
for ( int iii=0;iii<L;iii++){
v[i][ii][iii]=0;
fread(&v[i][ii][iii],4,1,fp);//读二进制速度文件
float temp;
temp=0;
OnChange(v[i][ii][iii],temp);
outfile<<setiosflags(ios::fixed)<<setw(5)<<temp<<" ";
}
outfile<<endl;
}
}
fclose(fp);
return 0;
}
对于其他类型只需要修改对应的union类型就可以了,具体实现如下:
void OnChange(short InParam, short &OutParam)
{
union
{
char ch[2];
unsigned short iTemp;
}u,r;
u.iTemp = InParam;
r.ch[0] = u.ch[1];
r.ch[1] = u.ch[0];
OutParam = r.iTemp;
}
void OnChange(int InParam, int &OutParam)
{
union
{
char ch[4];
int iTemp;
}u,r;
u.iTemp = InParam;
r.ch[0] = u.ch[3];
r.ch[1] = u.ch[2];
r.ch[2] = u.ch[1];
r.ch[3] = u.ch[0];
OutParam = r.iTemp;
}
void OnChange(float InParam, float &OutParam)
{
union
{
char ch[4];
float iTemp;
}u,r;
u.iTemp = InParam;
r.ch[0] = u.ch[3];
r.ch[1] = u.ch[2];
r.ch[2] = u.ch[1];
r.ch[3] = u.ch[0];
OutParam = r.iTemp;
}
void OnChange(double InParam, double &OutParam)
{
union
{
char ch[8];
double iTemp;
}u,r;
u.iTemp = InParam;
r.ch[0] = u.ch[7];
r.ch[1] = u.ch[6];
r.ch[2] = u.ch[5];
r.ch[3] = u.ch[4];
r.ch[4] = u.ch[3];
r.ch[5] = u.ch[2];
r.ch[6] = u.ch[1];
r.ch[7] = u.ch[0];
OutParam = r.iTemp;
}
- 读取二进制文件到txt,包括大小端转换
- 以vs2010 MFC编程实现文本*.txt到二进制文件的转换
- C语言二进制文件读写以及大小端转换
- python读取txt数据,转换到excel表中
- C++读取存储float文件(txt文件和二进制文件)
- 读取一个二进制文件保存到数据库中
- TensorFlow读取二进制文件数据到队列
- matlab读取txt到.mat
- .txt文件转换到Excel
- 读取二进制文件
- 读取二进制文件
- 读取二进制文件
- 二进制文件读取
- C++读取二进制文件到二维数组并保存到文本文件
- python读取 txt转换成csv
- python进制转换(读取纯二进制文件内容)
- python进制转换(读取纯二进制文件内容)
- python进制转换(读取纯二进制文件内容)
- redis与MySQL结合
- Golang从入门到精通(十九):Golang并发编程之Channel
- android studio 安装配置svn
- 为什么选择多域名通配符SSL证书?
- 第十五周——项目一—验证算法(7)归并排序
- 读取二进制文件到txt,包括大小端转换
- digdome.sh
- 游戏音频-详解MediaPlayer,SoundPool利弊
- 数据结构学期总结
- Android 进阶之路:常见设计模式之装饰模式
- vue+express+mongodb+websocket 仿QQ即时聊天项目
- Effective Java之使类和成员的可访问性最小化(十三)
- 机器学习九大算法---随机森林
- UE4中遍历对象的方法