CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

新手提问:请大家帮忙看看这个函数出错在哪里?

楼主hugoliang(鱼)2004-09-04 17:18:45 在 VC/MFC / 基础类 提问

我刚开始学VC,什么都不懂,下面只是仿造另外一个函数写的,但是结果不对,我也不会调试,就请大家帮忙修改一下吧,我会努力接着学的  
  int   CSCommTestDlg::String2Hzk(CString   str,   CByteArray   &senddata)  
  {  
  int   highdata,lowdata,i;  
  int   hexdatalen=0;  
  FILE   *fp;  
  char   buffer[32];  
  unsigned   long   offset;  
  int   len=str.GetLength();  
  senddata.SetSize(len*16);  
  fp=fopen("HZK16","rb");  
  int   nCurPos=0;  
  while(nCurPos<len)  
              {if(str[nCurPos]=='   ')  
  {  
                  nCurPos++;  
                  continue;  
  }  
        highdata=str[nCurPos]-0xa0;  
                nCurPos++;  
                lowdata=str[nCurPos]-0xa0;  
                offset=(94*(highdata-1)+(lowdata-1))*32L;  
          fseek(fp,offset,SEEK_SET);  
          fread(buffer,32,1,fp);  
  for(i=0;i<32;i++)  
  senddata[hexdatalen+i]=buffer[i];  
  hexdatalen+=32;  
  nCurPos++;  
  }  
  senddata.SetSize(hexdatalen);  
  return   hexdatalen;  
  }  
  这是一个ASSIC码转换成字型码的函数,可是我送出"你好吗"   三个字,  
  字型数据为00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   00   10   E0   71   B0   33   18   33   18   33   18   33   18   31   B8   30   F8   30   18   33   18   31   B6   78   E6   00   00   00   00   00   00   10   08   24   F4   2C   84   44   82   44   82   44   E2   44   12   44   12   44   12   44   92   44   92   2E   64   20   04   10   08   00   00    
  而且奇怪的是如果只输入一个汉字,为什么32B全是0呢?  
  真的很感谢大家帮我看看,谢谢谢谢  
  问题点数:100、回复次数:5Top

1 楼jmlt1983(Harper)回复于 2004-09-04 17:49:24 得分 0

HZK16   放哪的??  
  很有可能是未打开吧?Top

2 楼hugoliang(鱼)回复于 2004-09-04 19:38:26 得分 0

我试过了,打开了,因为如果我把字库文件移走,程序会报错,我这个函数原来在C下用过,可是不知道为什么放到VC下就不行了:(  
  帮帮忙吧,谢谢Top

3 楼keiy()回复于 2004-09-04 20:02:26 得分 100

...  
                highdata=(unsigned   char)str[nCurPos]-0xa0;  
                nCurPos++;  
                lowdata=(unsigned   char)str[nCurPos]-0xa0;  
                offset=(94*(highdata-1)+(lowdata-1))*32L;  
  ...  
  Top

4 楼flyelf(空谷清音)回复于 2004-09-04 20:02:36 得分 0

还是跟踪一下吧Top

5 楼hugoliang(鱼)回复于 2004-09-04 20:33:18 得分 0

怎样跟踪,我是很想单步走一下,可是刚学VC,不知道怎么弄,给我讲讲好吗?谢谢Top

相关问题

  • ##???asc()函数出错???##
  • DIR函数出错
  • 声明函数时出错?
  • 调用GetCurrentDirectory函数出错
  • 调用api函数出错
  • SHFileOperation函数总是出错。
  • 【简单】UploadFile函数上传文件时出错,哪里有问题?
  • 线程函数 提问
  • DELPHI中定义函数出错问题
  • vbscript 调用javascript 函数出错?

关键词

  • 函数
  • ncurpos
  • hzk
  • 请大家帮忙
  • senddata
  • fp
  • len
  • str

得分解答快速导航

  • 帖主:hugoliang
  • keiy

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo