📄 hex.cpp
字号:
#include <stdio.h>
#include <math.h>
#define IFILE_NAME "demo_V21_1.dat" //输入的文件名
#define OFILE_NAME "hex_demo_V21_1.dat"//输出的文件名
//#define FRAME 400 //一共有多少个帧
short temp[391],*p_temp=temp;
unsigned long int GetNumFrames (FILE* fp, unsigned long int blocksize)
{
unsigned long int position;
unsigned long int numFrames;
position = ftell(fp);
fseek(fp,0L,2);
numFrames = ftell(fp) / blocksize;
fseek(fp,position,0);
return(numFrames);
}
void main()
{
FILE *ifileP,*ofileP;
int i,j;
short con_binary[1566];
short d[4];
int num;
//if ((ofileP=fopen(OFILE_NAME,"r")) == NULL)
if((ifileP=fopen(IFILE_NAME,"rb"))==NULL)//以文本的形式打开
{
printf("cannot open this file!\n");
}
else printf("success to open the file!\n");
//if ((ofileP=fopen(OFILE_NAME,"w")) == NULL)
if ((ofileP=fopen(OFILE_NAME,"wb")) == NULL)//以二进制的文件打开
{
printf("Unable to open output file-%s\n",OFILE_NAME);
}
num=GetNumFrames(ifileP,2);
fread(con_binary,sizeof(short),num,ifileP);
for(i=0;i<int(num/4);i++)
{
for(j=0;j<4;j++)
{
d[j]=con_binary[j+i*4];
}
temp[i]=d[0]*8+d[1]*4+d[2]*2+d[3]*1;
if(temp[i]<10)
{
temp[i]=temp[i];
printf("%d",temp[i]);
//fprintf(ofileP,"%d",temp[i]);//写入文本文件
fwrite(&temp[i],sizeof(short),1,ofileP);//写入二进制文件
}
else
{
temp[i]=(char)(temp[i]+55);
printf("%c",temp[i]);
//fprintf(ofileP,"%c",temp[i]);//写入文本文件
fwrite(&temp[i],sizeof(short),1,ofileP);//写入二进制文件
}
}
printf("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -