QiangIANG 2015-07-22 00:26 采纳率: 28.6%
浏览 1546

各位看一看这代码有什么问题吗?单步执行没有问题,一去掉断点就出错

bool CMyUsbHid::WriteToPort(CString sendData)
{
BOOL bResult;
char strsend[256];
strsend[0]=0;
memset(&strsend,0,256*sizeof(char));
DWORD sendlen=0;
OVERLAPPED m_oswrite;
memset(&m_oswrite,0,sizeof(OVERLAPPED));
m_oswrite.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL);

for(int i=0;i<sendData.GetLength();i++)
    strsend[i+1]=sendData.GetAt(i);

Sleep(100);
if (m_devHandle!=INVALID_HANDLE_VALUE)
{
    bResult=WriteFile
        (
        m_devHandle,
        strsend,
        Capabilities.OutputReportByteLength,
        &sendlen,&m_oswrite
        );
    TRACE(_T("%s\r\n"),(CString)(strsend+1));
}
else 
{
    MessageBox(NULL,_T("设备打开失败!"),_T("提示:"),MB_OK);
    return false;
}

if (!bResult)
{
    DWORD dwError=GetLastError();
    switch (dwError)
    {
    case ERROR_IO_PENDING:
        {
        TRACE(_T("write pending\r\n\r\n"));
        break;
        }
    default:
        {
        MessageBox(NULL,_T("数据写入失败!"),_T("提示:"),MB_OK);
        return false;
        }

    }
}
TRACE(_T("Writefile over!"));
return true;

}


这代码有什么问题吗?单步执行没有问题,一去掉断点,运行就出错,发出的数据总是不对,前几天再起他项目中也是用的这个,就没有问题,,,这是为什么呢?
急等啊,,,

  • 写回答

4条回答

  • Evankaka 博客专家认证 2015-07-22 00:32
    关注

    这个应该是指针指错了

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘