我的目的是做一个mfc单文档程序来读取文档内容,读取的内容用十六进制显示
读取文档内容我用的是serialize函数  
显示文档我用的是tabbedtextout  现在已经能把文本内容读取并显示成功了 
需要修改哪个函数来使显示的内容变成十六进制??

解决方案 »

  1.   

     读取文件时 CString str;
    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;
         }里面没有用到字符串格式化吧???
      

  2.   

    在这一句前,把str变成16进制的。
    m_strContents.Add(str);----------------------------
    读取的内容用16进制显示是什么意思?
    是里面的文字的ASC码用16进制表示么?
      

  3.   

    。。那你就把读进来的字符串变成数
    然后再用itoa
      

  4.   


    就是把文本的内容用十六进制表示在mfc的编辑框里  例如 一个存在的a.txt文件里面有很多汉字  我读取后在mfc的编辑框里会出现十六进制的表示
      

  5.   


    这就很难了,
    如果是汉字,那是unicode表示的。
    你可以一个字节读出来,转成text.再输出。
      

  6.   

    http://topic.csdn.net/t/20020516/13/727128.html