首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++条件判断一只为假,该怎么处理

2012-05-24 
C++条件判断一只为假我写的USB程序从USB设备读取数据 其中char数组的第二位为0xff。我读取到了数据,但是在

C++条件判断一只为假
我写的USB程序从USB设备读取数据 其中char数组的第二位为0xff。我读取到了数据,但是在用if进行比较但是结果一直为假。这是怎么回事?附代码:
  succ = ReadFile(hDevice, inputReport, 8, &nReadBytes, NULL); 

if(OpenDevice == FALSE) //如果OpenDevice = FALSE,退出线程
break;

if(!succ) //如果读取失败,退出线程
{


//判断是否namedpipe已经断开,如果断开则中断程序 
return 0;
break;

}
if(succ && (nReadBytes == 8))//this condition used under the test mode 
{


  if(inputReport[1]==0xff)//这里一直是假。为什么?那位大侠帮帮忙啊。
{

[解决办法]
试试这样:
inputReport[1]^0xff == 0x00

这个应该和数值运算时,
隐式的数据类型转换有关。
[解决办法]
inputReport[1]==0xff
可以断点一下看看具体的值 然后采用版主的方法试一试
建议先断点看一下是你的值错误 还是比较的错误
[解决办法]
char ch = 0xff;
if (ch == 0xff)//这里ch是char类型会首先被提升为int,楼主的编译器被提升为了0xffffffff;
{

}

热点排行