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 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services