我的目的是做一个mfc单文档程序来读取文档内容,读取的内容用十六进制显示
读取文档内容我用的是serialize函数
显示文档我用的是tabbedtextout 现在已经能把文本内容读取并显示成功了
需要修改哪个函数来使显示的内容变成十六进制??
读取文档内容我用的是serialize函数
显示文档我用的是tabbedtextout 现在已经能把文本内容读取并显示成功了
需要修改哪个函数来使显示的内容变成十六进制??
解决方案 »
- 这样的函数多线程时是否需要锁
- 该内存不能为“written”
- 如何改变控件叠放次序
- IP 转化问题
- 如何获取对话框类的类模板名(lpszTemplateName),其实想通过模板名Create()窗口,这里我不用IDD
- 我用CDaoRecordset派生类中,MDB是多个表组成,我想枚举其中一个表,要怎么做呢?
- 请教如何让VC的编辑框中能正确显示输入的韩语,操作系统为简体window2000
- 关于ado与foxpro数据库,200分求解
- 感谢chenhq的帮助,领分!
- 大虾,vc中的有这样的容器吗?
- 现在学COM的必要性有多大? (欢迎指教,高分相送)
- atl服务中访问HKEY_CLASSES_ROOT键
m_strContents.RemoveAll();
while(ar.ReadString(str))
m_strContents.Add(str);
显示时在ondraw中
CA2Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc); CString str;
TEXTMETRIC tm;
pDC->GetTextMetrics(&tm);
int y=0; int lineMaxWidth=0; int tab=tm.tmAveCharWidth*4;
int lineHeight=tm.tmHeight+tm.tmExternalLeading
CSize lineSize(0,0);
for( int i=0;i<pDoc->m_strContents.GetSize();i++)
{
str=pDoc->m_strContents.GetAt(i);
pDC->TabbedTextOut(0,y,str,1,&tab,0);
str=str+"A";
lineSize=pDC->GetTabbedTextExtent(str,1,&tab,0);
if(lineMaxWidth<lineSize.cx)
lineMaxWidth=lineSize.cx;
y+=lineHeight;
}里面没有用到字符串格式化吧???
m_strContents.Add(str);----------------------------
读取的内容用16进制显示是什么意思?
是里面的文字的ASC码用16进制表示么?
然后再用itoa
就是把文本的内容用十六进制表示在mfc的编辑框里 例如 一个存在的a.txt文件里面有很多汉字 我读取后在mfc的编辑框里会出现十六进制的表示
这就很难了,
如果是汉字,那是unicode表示的。
你可以一个字节读出来,转成text.再输出。