为什么无法识别“ \ xff”?

用户名

我知道0xff根据变量类型可以有不同的表示形式。就像-1代表有符号(chars / ints(?))和255代表无符号chars。

但是,我使用的是uint8_t的与实现无关的类型,并且我确保要遍历的结构内部确实存在0xff。这是代码:

struct pkt {
    uint8_t msg[8];
};

void main(int argc, char **argv) {
    ...

    struct pkt packet;
    memset(&packet, 0, sizeof packet);
    strcpy(packet.msg, "hello");
    packet.msg[strlen("hello")] = '\xff';

    crypt(&packet, argv[1]);    

    ...
}

void crypt(struct pkt *packet, unsigned char *key) {
    int size = msglen(packet->msg);

    ...
}

int msglen(uint8_t *msg) {
    int i = 0;
    while(*(msg++) != '\xff') {
        i++;
    }
    return i;
}

我已经研究了该结构,并且packet.msg [5]确实设置为0xff。但是while循环进入了无限循环,就像从未发现0xff一样。

诸如0x7f的值有效。我没有尝试过0x80,但我怀疑如果0xff不起作用,它可能将无法工作。这可能与签名的性质有关,但我只是看不出问题的根源。

谢谢。

编辑:对我来说,无论我使用0x7f或0xff。但是我只想知道是什么阻止了我检测0xff。

Myforwik

如果您没有签名,则不能使用字符文字。

'\ xff'为-1,而不是255,因为字符文字已签名。

while条件始终为真。如果未签名,则应仅使用数字:0到255,或将已知的字符转换为<128到未签名。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

\ xFF和0xFF之间的区别是什么

来自分类Dev

\\ x80-\\ xFF指的是什么?

来自分类Dev

a [0] = addr&0xff是什么?

来自分类Dev

为什么字节在Java中不采用0xff?

来自分类Dev

为什么float.MaxValue 0xFF 0xFF 0x7F 0x7F而不是像int那样的0x7F,0xFF,0xFF,0xFF?

来自分类Dev

为什么(int)'\ xff'!= 0xff但(int)'\ x7f'== 0x7f?

来自分类Dev

如何识别左键和右键单击以及0xFF

来自分类Dev

charCodeAt(...)和0xff完成什么工作?

来自分类Dev

0xff -colors在android中有什么用?

来自分类Dev

&0xff和MD5的结构是什么?

来自分类Dev

如果fgetc读取0xFF会发生什么?

来自分类Dev

“i%0xff”的结果是什么?

来自分类Dev

为什么增加uint8_t的代码包含`&0xFF`?

来自分类Dev

为什么无法识别路线?

来自分类Dev

将字节转换为长整数:为什么某些实现按位与每个字节与0xff进行“与”运算?

来自分类Dev

Node.js:无法通过“ buf.writeIntBE()”设置值“ 0xff”

来自分类Dev

cv2.waitKey(1)中的0xFF是什么?

来自分类Dev

&0xff在将RGB通道从RGB图像中分离出来的意义是什么?

来自分类Dev

&0xff和MD5分别做什么?

来自分类Dev

&0xff在将RGB通道从RGB图像中分离出来的意义是什么?

来自分类Dev

从\ xff转换为0xff

来自分类Dev

为什么此Javascript无法识别鼠标?

来自分类Dev

为什么流无法识别我的类型?

来自分类Dev

为什么concat在Teradata中无法识别?

来自分类Dev

为什么无法识别FORMAT功能?

来自分类Dev

为什么unicodedata无法识别某些字符?

来自分类Dev

为什么在WebForms中无法识别ruleSet?

来自分类Dev

为什么Glassfish无法识别罐子?

来自分类Dev

为什么Pillow无法识别JPEG格式?

Related 相关文章

热门标签

归档