VC中读取二进制文件,并将二进制文件信息转换为十六进制

mannhello 2009-02-06 09:25:12
最近遇到一个问题:
首先,用C#程序将.bmp图片转换为一个二进制文件(.bin 格式),
其次,我需要在VC中读取这个二进制文件,并把读取出来的二进制文件信息转换为十六进制显示出来,
读取二进制文件程序如下:
f.open("D:\\BinData");
f.seekg(ios::beg);
for(int i=0;i<length;i++)
{
f.get(data[i]);
}
请问如何将读取出来的二进制文件信息转换为十六进制并显示出来,
有哪位高手可以指点一下啊!谢谢了!
...全文
2180 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
JavaAlpha 2009-04-18
  • 打赏
  • 举报
回复
C#中怎么实现啊?
mannhello 2009-02-09
  • 打赏
  • 举报
回复
补充一下:
在MFC中显示在Text中,语句为:
m_DataDisplay.SetWindowText(str);
mannhello 2009-02-09
  • 打赏
  • 举报
回复
谢谢各位,我按照楼上的程序,读取二进制文件,程序没有报错,我想在MFC中把转换后的十六进制显示出来,没有任何反应,不知道哪里搞错了,请各位帮忙看一下;如下程序,
long Filelen;
char* a_pData;
if(fp=fopen("D:\\PicData.bin","r"))
{
fseek(fp,0,SEEK_END); //文件指针到文件尾
Filelen = ftell(fp); //读取文件长度
//分配内存
a_pData= (char*)malloc(Filelen); //按文件长度申请内存空间
//读取文件到分配的内存
fseek(fp,0,SEEK_SET); //文件指针到文件头
fread(a_pData,1,Filelen,fp); //读取文件到申请的内存中
fclose(fp);

CString sResult;
for(int i=0;i <Filelen;i++)
{
CString s=“”;
s.Format("%2.2X ",a_pData[i]);//后面加个空格,把每个字节分开,可以看得清楚些
sResult+=s; //sResult就是要的16进制字符串了
}
}

}
梅文海 2009-02-06
  • 打赏
  • 举报
回复
我正好写过一个
// 转换数据到 16 进制字符表示
// 2007.12.9
CString TranDataToString(byte* a_pData,int a_iLen)
{
CString sResult;
for(int i=0;i<a_iLen;i++){
CString s;
s.Format("%2.2X",a_pData[i]);
sResult+=s;
}
return sResult;
}
如果你不用 MFC 的话可以直接用 sprintf
fleer 2009-02-06
  • 打赏
  • 举报
回复
一楼说的很详细了,读取文件可以这样子
          
long Filelen;
char* a_pData;
if(fp=fopen(Path,"rb"))
{
fseek(fp,0,SEEK_END); //文件指针到文件尾
Filelen = ftell(fp); //读取文件长度
//分配内存
a_pData= (char*)malloc(Filelen); //按文件长度申请内存空间
//读取文件到分配的内存
fseek(fp,0,SEEK_SET); //文件指针到文件头
fread(a_pData,1,Filelen,fp); //读取文件到申请的内存中
fclose(fp);

CString sResult;
for(int i=0;i <a_iLen;i++)
{
CString s=“”;
s.Format("%2.2X ",a_pData[i]);//后面加个空格,把每个字节分开,可以看得清楚些
sResult+=s; //sResult就是要的16进制字符串了
}
}

}
pioneer_public 2009-02-06
  • 打赏
  • 举报
回复
%X
内容概要:本文详细介绍了具有最大功率点追踪(MPPT)功能的单相单级脉宽调制(PWM)光伏并网逆变器的Simulink仿真实现过程。该仿真模型聚焦于光伏系统的核心环节,通过构建完整的电路拓扑与控制逻辑,实现了直流电到交流电的高效转换,并确保逆变器输出的电流与电网电压同频同相,满足并网技术要求。重点在于MPPT算法的设计与应用,能够实时追踪光伏阵列在不同光照和温度条件下的最大功率输出点,从而显著提升太阳能的转换效率与系统整体性能。整个系统基于Simulink平台完成建模、仿真与验证,充分展示了其在动态响应、稳态精度及并网稳定性方面的优良特性,为光伏并网系统的研发与教学提供了完整的实践范例。; 适合人群:具备电力电子、自动控制或新能源发电基础知识,从事光伏系统研究、电力系统仿真的研究生、科研人员及工程技术人员。; 使用场景及目标:①学习和掌握单相光伏并网逆变器的基本工作原理与系统构成;②深入理解MPPT算法(如扰动观察法、增量电导法等)在实际系统的实现方式与作用;③利用Simulink进行电力电子系统建模与仿真,为科研项目、课程设计或工程项目提供技术参考和实现范例。; 阅读建议:在学习过程,应结合Simulink模型文件,仔细分析各模块(如主电路、驱动、MPPT控制器、锁相环PLL、电流控制环)的参数设置与连接逻辑,通过修改光照强度、温度等外部条件,观察系统动态响应,以加深对并网控制策略的理解。

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧