mfc 怎样把.dat文件的一个十六进制数写到txt文件中

假设.dat文件里有个数是9H,我想把它读出来,然后写进一个txt文件中,打开txt文件,里面的内容也是9H,应该怎样做啊?... 假设.dat文件里有个数是9H,我想把它读出来,然后写进一个txt文件中,打开txt文件,里面的内容也是9H,应该怎样做啊? 展开
 我来答
bhtzu
2013-01-23 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4193万
展开全部
涉及函数三个:
CFile::Open
CFile::Read
CFile::Write
网上搜索“CFile 二进制”会得到大量示例。
更多追问追答
追问
请教个问题。
.dat文件里存储着2进制的数据,以十六进制的形式存在。我把它读出来,然后写入txt文件,然后我想是让它显示原来的格式,也就是说,它本来在.dat里是9H,我想让它在txt里,也是9H这样存在,而不是文本形式。该怎么做呢?
我试了很多种方法都不行,i要么是显示文本形式,要么是错误的十六进制数。我菜鸟一个,刚开始学,麻烦指点指点,谢谢了。
追答
你通过CFile二进制方式,原样读取,原样写入,那么不会有变化。你通过UE之类的软件打开txt文件和dat文件,显示16进制方式,就会发现,文件是一样的。
这是你理解文件显示的问题。如果你希望,16进制数值9H在文本文件中显示为可显示字符串“9H”,那么就需要你做程序里面做转换了,具体转换要根据你的数据格式和需要显示的格式而定。
superamoyman
2013-01-23
知道答主
回答量:22
采纳率:0%
帮助的人:3.7万
展开全部
BYTE value = 0x9H;
CFile out("aaa.txt", CFile::modeCreate | CFile::modeWrite);
CString outstring;
outstring.Format(_T("%02X", value);
out.Write(outstring, outstring.GetLength());
out.Close();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式