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

程序运行是总发生写内存错误!附代码,请达人治交错在何处并帮修改!

楼主cowboy0404(溺)2005-06-02 20:09:45 在 VC/MFC / 基础类 提问

用到的函数:  
  unsigned   WINAPI   ICC_tsi_apiVB(HANDLE   fd,int   len,   unsigned   char   *comm,int   *lenr,unsigned   char   *resp);                                                                                                   /*  
                fd           :   已打开的端口描述符.  
                len         :   命令comm的长度  
                comm       :   发向卡上的命令  
                lenr       :   从卡上接收到的数据长度  
                resp       :   从卡上接收到的数据  
            返回:  
            0xffff通迅失败                                                                   */  
  unsigned   char   *   WINAPI   CHexToBin(unsigned   char   *bin,unsigned   char   *asc,unsigned   int   len);                                                                                                                               /*  
        参数:  
    bin:二进制结果串:   0x12,0x34,0xE1,0xFA  
    asc:十六进制字符串,如"1234E1FA"  
    len:十六进制字符串长度  
        返回值:  
                二进制结果串的指针                                                                                     */  
  unsigned   char   *   WINAPI   BinToCHex(unsigned   char   *asc,unsigned   char   *ibn,unsigned   int   len);                                                                                                                               /*  
        参数:  
        asc:十六进制字符串,如"1234E1FA"  
        bin:二进制结果串:   0x12,0x34,0xE1,0xFA  
        len:二进制串长  
        返回值:  
                十六进制字符串的指针                                                                                   */  
  代码如下:  
  UpdateData(TRUE);   //读取编辑框内容  
  int   *lr=NULL;  
  unsigned   char   *rep=NULL;  
  char   buff[256];  
   
  unsigned   int   len=m_strTXData.GetLength();  
  CHexToBin((unsigned   char   *)buff,(unsigned   char   *)(LPCSTR   )m_strTXData,len);//16进制转2进制  
   
  unsigned   re1=ICC_tsi_apiVB(fd,len,(unsigned   char   *)(LPCSTR   )m_strTXData,lr,rep);//发送数据  
   
  if(re1=0xffff)  
    {  
      MessageBox("发送命令或接收返回的数据失败!",   "错误!",   MB_ICONERROR);  
      return;  
    }  
  else  
    {        
      BinToCHex((unsigned   char   *)buff,rep,(int)(LPCSTR   )lr);//2进制转16进制  
      m_strRXData=(LPCSTR)rep;  
    } 问题点数:80、回复次数:2Top

1 楼keiy()回复于 2005-06-02 20:25:16 得分 40

如果按你函数定义:你的错太多了  
   
  UpdateData(TRUE);   //读取编辑框内容  
  int   lr;  
  unsigned   char   rep[256];  
  char   buff[256];  
   
  unsigned   int   len=m_strTXData.GetLength();  
  CHexToBin((unsigned   char   *)buff,(unsigned   char   *)(LPCSTR   )m_strTXData,len);//16进制转2进制  
  unsigned   re1=ICC_tsi_apiVB(fd,len,(unsigned   char   *)(LPCSTR   )buff,&lr,rep);//发送数据  
   
  if(re1=0xffff)  
    {  
      MessageBox("发送命令或接收返回的数据失败!",   "错误!",   MB_ICONERROR);  
      return;  
    }  
  else  
    {        
      BinToCHex((unsigned   char   *)buff,rep,(unsigned   int)lr);//2进制转16进制  
      m_strRXData=(LPCSTR)buff;  
    }  
  ////随手写的,可能用错Top

2 楼orbit(走了走了)回复于 2005-06-02 20:38:32 得分 40

这样改:  
  代码如下:  
  UpdateData(TRUE);   //读取编辑框内容  
  int   lr;  
  unsigned   char   rep[1024];  
  char   buff[256];  
   
  unsigned   int   len=m_strTXData.GetLength();  
  CHexToBin((unsigned   char   *)buff,(unsigned   char   *)(LPCSTR)m_strTXData,len);//16进制转2进制  
   
  unsigned   re1=ICC_tsi_apiVB(fd,len,(unsigned   char   *)(LPCSTR   )m_strTXData,&lr,rep);//发送数据  
   
  if(re1=0xffff)  
    {  
      MessageBox("发送命令或接收返回的数据失败!",   "错误!",   MB_ICONERROR);  
      return;  
    }  
  else  
    {        
      BinToCHex((unsigned   char   *)buff,rep,lr);//2进制转16进制  
      m_strRXData=rep;  
    }  
  Top

相关问题

  • 运行时,代码在内存中能共享吗?
  • 如何用VC6查找在内存运行中的程序?(请给出具体代码)
  • 在VC下释放某块内存反而出错,DEV-C++下编译运行均没问题?(附代码)
  • 这段读取核心态内存驱动代码为什么一运行,机器就重启??
  • 代码运行效率
  • 代码运行错误!!!!
  • java代码运行问题
  • 用什么代码实现,1、表单不显示出来,而放在内存中;2、将运行时第一个表单从内存中删除,而不影响其他表单;3、将表单从内存中显示出来
  • 我用INPUTBOX进行口令输入,写了一段代码,编译前运行通过,编译后有内存冲突,请各位帮我看看!
  • 这段代码吃内存严重

关键词

  • 二进制
  • 十六进制字符串
  • unsigned char
  • 长度
  • asc
  • len
  • winapi
  • comm
  • 返回
  • 卡

得分解答快速导航

  • 帖主:cowboy0404
  • keiy
  • orbit

相关链接

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

广告也精彩

反馈

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