链接好像打不开啊使用HZK16 需要先计算好偏移地址
hzIndex = ((Qu - 0xA1) * 94) + (Wei - 0xA1)); //区位码转换到索引
dwOffset = hzIndex * 32; //(16*16/8)
然后从文件头偏移dwOffset个字节,读出32个字节,就是一个完整的汉字点阵另外字库点阵是16进制的,因此发送到时候得做好协议,或者转为ASCII码,得让单片机识别出哪里是开始

解决方案 »

  1.   

    其实我用c语言已经可以读出,并且打印了出正确的结果
    不知c++是打印不出还是发送不出
    也许如楼上所说,得把十六进制转化成ASCII码~
      

  2.   

    工程一定要设成多字节字符集,好象从VS2005以上的版本默认的是UNICODE字符集
      

  3.   

    改用了fread和fseek函数,直接将c语言读取自摸程序中的一段代码靠过来,却出现有得字能读完整出,如我、他,有得字只能读取一点或读不到,如“你”只能读到一个“▲“字符,纳闷啊? void CSerialPortComDlg::ReadDataFromFile()
     {    
          unsigned  char i=0xa1,j=0xa1;
          unsigned   char   qh,wh; 
          unsigned  long offset; 
          char *p = m_strSendData.GetBuffer(m_strSendData.GetLength());//获得汉字区位码所在指针
          unsigned   char q = p[0], w = p[1];
          qh=q-0xa0;
          wh=w-0xa0;
          offset=((qh-1)*94+(wh-1))*32L;  //计算在自摸中偏移量
          FILE *fd;
          fd=fopen( "HZK16 ", "rb ");
          fseek(fd,offset,SEEK_SET); 
          memset(cBuf, 0, 1024);
          fread(cBuf,32,1,fd);    
          fclose(fd);
      

  4.   

    跟踪:unsigned char q = p[0], w = p[1];
      

  5.   


    先不要用外面输入的汉字设置 q = 0xC4; w = 0xE3;看看能不能输出来 “你”
      

  6.   

    试着把  q = 0xC4; w = 0xE3;后,还是只有一个▲
    而“我”字依然好着,并且把 fread(cBuf,32,1,fd); 中每次读取32个字节改为128,还是只有一个▲
    通过串口工具检测,输入“你”字时只发送了一个字节,而你字的32b字模中的第一个是▲
    所有要么是后面的没读到,要么没法出去
     敢问在mfc调试中怎么去查看一个数组中的元素个数?
      

  7.   

    下载我的“EditFont.rar”
    http://download.csdn.net/detail/schlafenhamster/2287541
    0分
      

  8.   

    恩,你的工具很强大,但我是串口发送有问题!
    因为从hzk16读到的是asc吧,有得不能发送,我就给读到的每个都加上0xa1,貌似都能发送了
    具体原因,我也不是很明白~
      

  9.   

    不是asc,是字模就是一个数。
      

  10.   

    恩,多谢!
    按照mscom控件的setoutput函数说明,当发送二进制数据时,要将字节型数据存入参数变量中,
    于是从网上搜了下,改成了下面的程序进行了转换:COleVariant vSendData2;
       CByteArray OutBuf;
     OutBuf.SetSize(m_strSendData.GetLength()*32);//设置大小
      int i;
     for(i = 0; i < m_strSendData.GetLength()*32; i++)
       OutBuf[i] = cBuf[i];                        //转换类型
    vSendData2 = OutBuf;  //转换发送数据类型
      m_ctrMSCom.SetOutput(vSendData2);//发送数据
      

  11.   

    一定格式的东西还是先转换成bin字串吧
      

  12.   

    我下载的HZK12和HZK16文件没有扩展名,也不知道怎么打开啊