现在接受端接受十六进制字符比如01 05 00
我是用CSerialPort的类封装,但是只能够发送字符串
如果这样写    
char sBuf[] = "010500";
port.Write(sBuf, strlen(sBuf));是不成功的
 应该怎么转换?在线等!!!!!!!!!!

解决方案 »

  1.   

    很简单:
    char sBuf[] = {1, 5, 0};
      

  2.   

    BOOL fWriteState;
          DWORD dwBytesWritten;
          //写入数据
          char *buf1 = new char[6];
          buf1[0] = 4;
          buf1[1] = 0x2f;
          buf1[2] = 0x59;
          buf1[3] = buf1[0]^buf1[1]^buf1[2];
          dwBufToWrite = 4;
          fWriteState=WriteFile(hPort,buf1,4,&dwBytesWritten,NULL);
          return dwBytesWritten;大家帮我看看这段代码,为什么我怎么都发送,都是fWriteState=1,但返回的dwBytesWritten都是0阿??